大招:requestBody不允许
我试图用swagger定义一个post端点,但是它不允许requestBody
参数:
/names/{roster}: get: #... post: x-swagger-router-controller: names description: Adds or removes name(s) operationId: manageNames parameters: - name: roster in: path description: the roster to use type: string required: true requestBody: content: 'application/json': schema: $ref: '#/definitions/ManageNamesRequest'
当我运行npm start
,我得到这个:
API Errors: #/paths/~1names~1{roster}/post: Additional properties not allowed: requestBody 1 error and 0 warnings
我的规范有什么问题?
您可能正在混合使用OpenAPI / Swagger 2.0和OpenAPI 3.0语法。 您的规范似乎是2.0,但requestBody
关键字是3.0function。 在2.0中,请求主体被定义为一个主体参数:
paths: /names/{roster}: post: produces: - application/json ... parameters: - ... - in: body name: body required: true schema: $ref: '#/definitions/ManageNamesRequest'
更多信息: 描述请求正文