Node.js &引用;请求机构“;不';t出现在大摇大摆的用户界面上
我正试图在我的招摇过市文档中使用POST请求进行测试,但遇到以下问题: 在Swagger Editor上,我可以正常测试它,但在Swagger UI上,请求正文字段不会出现,因此我无法放置电子邮件和密码来测试请求 在这里,您可以看到“请求正文”字段以及准备编辑的数据示例:Node.js &引用;请求机构“;不';t出现在大摇大摆的用户界面上,node.js,swagger,openapi,Node.js,Swagger,Openapi,我正试图在我的招摇过市文档中使用POST请求进行测试,但遇到以下问题: 在Swagger Editor上,我可以正常测试它,但在Swagger UI上,请求正文字段不会出现,因此我无法放置电子邮件和密码来测试请求 在这里,您可以看到“请求正文”字段以及准备编辑的数据示例: 在这里,您可以看到大摇大摆的用户界面并没有显示它: 注意:我已经生成了一个nodejs服务器 My.yaml代码: openapi: '3.0.1' info: version: 1.0.0 title: Tes
在这里,您可以看到大摇大摆的用户界面并没有显示它:
注意:我已经生成了一个nodejs服务器 My
.yaml
代码:
openapi: '3.0.1'
info:
version: 1.0.0
title: Test
description: Test openapi.
servers:
- url: http://localhost:3005
paths:
/login:
post:
summary: Login
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/login'
responses:
200:
description: Test
components:
schemas:
login:
type: object
properties:
email:
type: string
example: example@example.com.br
password:
type: string
format: password
example: example123
expires:
type: integer
example: 86400
required:
- email
- password
TL;DR:将Swagger UI更新至最新版本。 为了澄清这个场景(面向未来读者):OP将这个OpenAPI3.0定义粘贴到Swagger编辑器中,生成一个Node.js服务器并运行它。请求正文显示问题与作为Node.js服务器一部分的Swagger UI有关(
http://localhost:8080/docs
)
问题是这个Node.js服务器使用了一个非常旧版本的Swagger UI。更具体地说,它使用
包五。1.0.1,它具有招摇过市的UI v。3.3.1与之捆绑。最新的Swagger UI版本(截至本文撰写之时)是3.22.1,它没有描述的问题
解决方案是将Swagger UI更新至最新版本:
- 在
存储库中有一个将捆绑的Swagger UI更新为最新版本的工具。考虑提交PR来解决这个问题。oas3工具
- 作为快速修复,您可以使用fork
,更新oas3工具
文件夹中捆绑的Swagger UI文件,然后更新生成的Node.js服务器的\middleware\Swagger UI
以引用您的package.json
forkoas3工具
var parsers=..reduce(parameters…},[])之后
if (swaggerMetadata.operation.requestBody && parsers.indexOf(bodyParser) === -1) parsers.push(bodyParser);
if (req.body) swaggerMetadata.params.body = {value: req.body};
后的第225行,每个(参数,…})代码>块:
if (swaggerMetadata.operation.requestBody && parsers.indexOf(bodyParser) === -1) parsers.push(bodyParser);
if (req.body) swaggerMetadata.params.body = {value: req.body};
对不起,我不明白如何更新大摇大摆的用户界面。您能更具体地说一下吗?您对oas3 tools/middleware/下的swagger-metada.js做了哪些更改。