我使用 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 不支持默认响应,因此我可能会将其删除。