0

我使用 swagger-codegen 在 javascript 中构建服务 api。当调用工作时,它返回我的自定义类型和状态 200,但是当出现验证错误时,它返回一个错误,但也返回一个状态 200。

例如:

    {
  "message": "Request validation failed: Parameter (model) is required",
  "code": "REQUIRED",
  "failedValidation": true,
  "path": [
    "paths",
    "/make/ford",
    "get",
    "parameters",
    "0"
  ],
  "paramName": "model"
}

我希望它返回状态代码 400,因为我的 swagger.yml 仅将我的用户定义类型指定为响应。如何使生成的代码返回状态 400 以显示验证错误?

端点描述如下(部分文件):

 /make/ford:
    x-swagger-router-controller: controller
    get:
      description: Description
      operationId: get_car
      parameters:
        - name: model
          in: query
          description: Model
          required: true
          type: array
          items:
            type: string
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/ModelResponse"
        # responses may fall through to errors
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorResponse"

definitions:
  ModelResponse:
    properties:
      options:
        type: array
        items:
          type: string
  ErrorResponse:
    required:
      - message
    properties:
      message:
        type: string   

注意:AWS API Gateway 不支持默认响应,因此我可能会将其删除。

4

0 回答 0