在 Swagger UI 的参数列表中显示 json 对象属性

devnull Ψ

我使用 swagger,OpenAPI 版本 3 为 Web API 编写文档。我使用swagger php 包从注释生成记录的 json。我有服务,在那里我发送 post 请求以添加新用户,请求的主体是 json(因此参数作为 json 对象发送)。它有 2 个参数 - 电子邮件和密码。请求正文看起来像

{
   "email": "[email protected]",
   "password": "test"
}

这是 swagger 的 YAML

paths:
  /users:
    post:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignUp'
      responses:
        '200':
          description: successful operation

这是包含请求参数的参考架构 ( /components/schemas/SignUp)

SignUp:
  title: SignUp
  description: Adds new user
  type:object
  required:
    - email
    - password
  properties:
    email:
      description: User's email
      type: string
      maximum: 255
      pattern: email
    password:
      description: User's password
      type: string
      maximum: 255

这是它在 swagger UI 中的外观,在此处输入图片说明如您在图像上看到的,请求的主体为空(虽然我有 2 个参数),这就是问题所在。如果我将标题从 更改为application/jsonapplication/x-www-form-urlencoded那么它将起作用(它将在参数列表中显示所有参数)。如何让它在该列表中显示 json 对象参数?

海伦

您的规范是正确的,并且 Swagger UI 中显示的结果是正确的,并且完全符合 OpenAPI 3.0 定义的预期。

请注意,有两个部分,“参数”(用于parameters)和“请求正文”(用于requestBody)。在 OpenAPI 3.0 中,parameters仅用于查询参数、路径参数、请求头和 cookie;requestBody显示在“请求正文”部分。您可以单击“模型”链接以查看带有属性描述的请求正文架构。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何定义Swagger 2.0 JSON以在Swagger UI中填充默认主体参数对象?

Swagger UI不显示嵌入式json属性模型

在Swagger UI中指示复杂输入参数对象的必需属性

显示 Swagger.json 但 UI 不显示

如何在Swagger UI的multipart / form-data中的json参数中显示架构?

在JSON列表/对象Python中搜索参数列表

swagger-ui中的编码未爆炸requestBody中的属性

如何首先在 UI 中显示 JSON 对象中的最后一个属性

Swagger UI:postode主体中的对象数组忽略explode = true

Swagger-play2:如何使用@ApiImplicitParams 注释允许对象数组作为 swagger ui 中的输入?

Swagger-ui-列表参数编码

Swagger:在Swagger UI中更改API路线

swagger对象是否可以在swagger-ui中具有默认值作为参数传递?

OpenAPI / Swagger-ui:表单中自动生成的JSON会忽略参数名称

在Swagger中描述json参数

如何从Swagger UI导出Swagger JSON / YAML文件?

Swagger-ui 在查询参数中展平对象,但生成的 Angular 客户端不会

Swagger UI将绑定到单个操作参数的多个标头作为单个json对象发送,而不是作为多个标头发送

Swagger-UI和Ktor如何导入swagger.json或.yaml文件并启动Swagger-UI?

来自现有JSON的Springfox Swagger Ui

在Swagger UI中美化Json响应

在Swagger UI中添加请求参数

在Swagger UI中实施搜索

在 Swagger UI 中拦截消息

Swagger UI始终显示在NestJS中

如何在nodejs中的Swagger UI(swagger.json)中的标头中表示自定义令牌

如何在 Laravel + Swagger 中结合属性和 json 响应?

php swagger注解json属性中的方括号的转义字符

Swagger 2.0中没有类型属性的架构对象