当我尝试使用Swagger在AngularJS上构建发布请求时收到错误的请求

迪米特里斯·马克里斯(Dimitris Makris)

我正在尝试使用Swagger API规范在AngularJS上构建POST请求。

下面介绍了我对Swagger的后期规范:

"/api/record/": {
  "post": {
    "responses": {
      "201": {
        "description": ""
      }
    },
    "tags": [
      "api"
    ],
    "consumes": [
      "application/json"
    ],
    "operationId": "record_create",
    "parameters": [
      {
        "in": "body",
        "schema": {
          "required": [
            "external_ref",
            "type",
            "code",
            "group"
          ],
          "type": "object",
          "properties": {
            "external_ref": {
              "description": "",
              "type": "string"
            },
            "type": {
              "description": "",
              "type": "string"
            },
            "code": {
              "description": "",
              "type": "string"
            },
            "group": {
              "description": "",
              "type": "string"
            }
          }
        },
        "name": "data"
      }
    ]
  }
}

下面介绍了我的发帖请求的执行情况:

    return API.record_create({
      body: {
        external_ref: $scope.externalref,
        type: $scope.type.uuid,
        code: $scope.code,
        group: $scope.group
      }
    })
    .then(function(obj) {
      ...
    })
    .catch(function(err) {
      ...
    });

Swagger为'record_create'函数生成的AngularJS的完整代码如下:

        /**
         * 
         * @method
         * @name #record_create
         * @param {} data - 
         * 
         */
        API.prototype.record_create = function(parameters) {
            if (parameters === undefined) {
                parameters = {};
            }
            var deferred = $q.defer();

            var domain = this.domain;
            var path = '/api/record/';

            var body;
            var queryParameters = {};
            var headers = {};
            var form = {};

            if (this.token.isQuery) {
                queryParameters[this.token.headerOrQueryName] = this.token.value;
            } else if (this.token.headerOrQueryName) {
                headers[this.token.headerOrQueryName] = this.token.value;
            } else {
                headers['Authorization'] = 'Bearer ' + this.token.value;
            }

            headers['Content-Type'] = ['application/json'];

            if (parameters['data'] !== undefined) {
                body = parameters['data'];
            }

            if (parameters.$queryParameters) {
                Object.keys(parameters.$queryParameters)
                    .forEach(function(parameterName) {
                        var parameter = parameters.$queryParameters[parameterName];
                        queryParameters[parameterName] = parameter;
                    });
            }

            this.request('POST', domain + path, parameters, body, headers, queryParameters, form, deferred);

            return deferred.promise;
        };

虽然,我在POST请求中添加了主体的所有必需参数,但我收到了一个错误的请求(400),响应如下所示:

{
 "group":["This field is required."],
 "type":["This field is required."],
 "external_ref":["This field is required."],
 "code":["This field is required."]
}

下面显示的发布请求标头标头

控制台中唯一的错误如下:控制台错误

您是否知道如何使用Swagger API规范正确构建POST请求?

迪米特里斯·马克里斯(Dimitris Makris)

Swagger自动生成的代码将“ body”参数的名称更改为“ data”参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我尝试更改我的 Discord 头像时,为什么会收到“400:错误请求”?

尝试在Shopify上发布请求时,请求给出400错误

当我尝试在节点中执行https发布请求时,出现getaddrinfo ENOTFOUND错误

当我尝试从预定的云函数访问外部 API 时,我不断收到错误消息:错误:找不到模块“请求”

当我尝试通过访存与Api连接时,为什么会收到“错误请求”错误400?

当我尝试通过 REST 请求发送 DM 时,我收到了错误的身份验证数据

XAMPP - “错误请求”当我尝试访问 https 端口时

在发布请求时收到422错误,但我认为我的请求已正确发送

每当我在Docker上的Django应用中使用请求模块时,uWSGI错误

为什么我收到错误消息“此路由不支持 GET 方法。支持的方法:POST。” 当我真正提出发布请求时?

当我尝试从连接到 TFS 2015 的 Visual Studio 2017 触发构建时收到以下错误

当我向 api 服务器发出 post 请求时收到 404 错误

当我尝试在 Bizzflow.net 中使用 Google Sheet 提取器时,出现请求超时错误。如何解决?

当我尝试通过邮递员发送请求时,我收到“Joi.validate 不是函数”

当我尝试执行Ajax请求时,Angular 2引发意外的令牌错误

当我尝试使用 JavaScript 数组方法时,我不断收到错误消息

每当我尝试使用函数时,我总是收到编译器错误

尝试发布大型JSON数据时出现错误的请求错误

当我将 URLEncoder 用于 Http GET 请求时,我得到了正确的 URL,但是当我将该代码推送到实时或服务器上时,我收到错误

当我使用Ajax发布表单时,laravel收到HttpException错误

收到(400)错误的请求。尝试发送GCM消息时

尝试发送 POST 请求时收到 404 错误

尝试链接 API 时收到“400 错误请求”

当我尝试请求机器人时出现错误

当我尝试POST请求时获得400响应

尝试在Java SpringBoot中使用REST API时收到错误请求

当我尝试在Android Studio 3上构建apk时,出现错误

当我尝试从字符串构建Java.utile.Date对象时,为什么会收到此错误?

我尝试请求发布但错误无效的 URI " / " Rest API