如何使用 swagger 使用 json 作为有效负载的 post 请求创建 api

     2023-02-26     244

关键词:

【中文标题】如何使用 swagger 使用 json 作为有效负载的 post 请求创建 api【英文标题】:How to create api using post request with json as payload using swagger 【发布时间】:2019-11-01 23:48:44 【问题描述】:

我尝试使用 swagger 为发布请求创建 api,但无法确定我应该在 swagger 中配置哪些参数才能创建此 API。

我使用邮递员来获取有关响应的所有信息并大张旗鼓地实施。

'/api/v1/labels':
post:
      tags:
        - devices
      summary: 'create new label'
      description: 'create new label to a given device'
      operationId: createNewLabel
      produces:
        - application/json
      parameters:
        - name: x-access-token
          description: 'cognito token'
          in: header
          type: string
          required: true
        - in: body
          name: body
          description: add label details
          required: true
          schema:
            $ref: '#/definitions/labelRequest'
      responses:
        '201':
          schema:
            $ref: '#/definitions/labelRequest'
          description: Created

这是我写的定义:

labelRequest:
    type: object
    items:
      $ref: '#/definitions/labelRequestBody'

  labelRequestBody:
    type: object
    properties:
      device_ids:
        type: array
        items:
          type: string
          example: ["9bc11e25-4db2-4780-b761-390e3806082a"]
          format: uuid
      name:
        type: string
        example: new_label

这是 API 调用:

https:///api/v1/labels

带有这些标题:

x-access-token

并以这个主体作为有效负载:


    "device_ids":["ea4b9daa-07cd-4cd6-981f-c86e1e81f04c"],
    "name":"labelName"

预期结果是:201(已创建)

【问题讨论】:

【参考方案1】:

你快到了,只需将 labelRequest 架构更改为:

definitions:
  labelRequest:
    type: object
    properties:
      device_ids:
        type: array
        items:
          type: string
          # Array item example should NOT be enclosed in []
          example: "9bc11e25-4db2-4780-b761-390e3806082a"
          format: uuid
      name:
        type: string
        example: new_label

【讨论】:

如何使用 Swashbuckle 的 SwaggerUI 显示静态 swagger.json 文件而不是 SwaggerGen 的动态创建的定义?

】如何使用Swashbuckle的SwaggerUI显示静态swagger.json文件而不是SwaggerGen的动态创建的定义?【英文标题】:HowcanIuseSwashbuckle\'sSwaggerUItodisplayastaticswagger.jsonfileinsteadofSwaggerGen\'sdynamicallycreateddefiniton?【发布时间】:2019-11-2715:53:52【问题... 查看详情

如何使用 swagger-node 生成/使用 XML

】如何使用swagger-node生成/使用XML【英文标题】:Howtoproduce/consumeXMLusingswagger-node【发布时间】:2015-10-0201:51:24【问题描述】:我是使用swagger-node(swagger-spec2.0)的新手,我需要我的API来使用和生成XML和JSON(因为这是客户想要的)。... 查看详情

在高级 REST 客户端中使用文件作为有效负载

】在高级REST客户端中使用文件作为有效负载【英文标题】:UsingfileaspayloadinAdvancedRESTClient【发布时间】:2016-06-0317:16:52【问题描述】:我正在尝试使用Google的高级REST客户端。我安装了扩展,我可以使用它。现在我想使用JSON文件... 查看详情

如何使用 YAML 文件在 Spring Boot 中配置 Swagger?

】如何使用YAML文件在SpringBoot中配置Swagger?【英文标题】:HowtoconfigureSwaggerinSpringBootusingYAMLfile?【发布时间】:2018-11-2912:41:31【问题描述】:我的Swagger配置有问题。现在Swagger正在扫描包并创建漂亮的文档,但我想使用我的YAML(... 查看详情

如何在 Gradle 中为 OpenAPI 3.0 使用 Swagger Codegen?

】如何在Gradle中为OpenAPI3.0使用SwaggerCodegen?【英文标题】:HowtouseSwaggerCodegeninGradleforOpenAPI3.0?【发布时间】:2020-05-0913:39:09【问题描述】:我有一个OpenAPI3.0规范(YAML格式),并且想为API生成Java代码。我想将此作为自动化构建的... 查看详情

如何使用 JSON.NET 确保字符串是有效的 JSON

】如何使用JSON.NET确保字符串是有效的JSON【英文标题】:HowtomakesurethatstringisvalidJSONusingJSON.NET【发布时间】:2013-02-0508:03:53【问题描述】:我有一个原始字符串。我只想验证字符串是否是有效的JSON。我正在使用JSON.NET。【问题讨... 查看详情

如何在 Spring Boot 中使用 Swagger 描述特定对象的列表?

】如何在SpringBoot中使用Swagger描述特定对象的列表?【英文标题】:HowtodescribelistofparticularobjectsusingSwaggerinSpringBoot?【发布时间】:2022-01-2009:05:49【问题描述】:我使用Swagger描述了我的控制器,但是当我尝试提取控制器的.yaml描述... 查看详情

如何使用 Charles 代理修改 json 有效负载请求并添加新的 json 参数

】如何使用Charles代理修改json有效负载请求并添加新的json参数【英文标题】:HowtomodifyjsonpayloadrequestandaddnewjsonparameterwithCharlesproxy【发布时间】:2020-03-1817:10:54【问题描述】:任何人都可以建议是否有任何方法可以修改现有的json... 查看详情

您如何更改 Swagger 图标?

】您如何更改Swagger图标?【英文标题】:HowdoyouchangetheSwaggerfavicon?【发布时间】:2019-01-0619:56:24【问题描述】:我正在构建一个ASP.NETCOREWebAPI并使用Swagger作为文档。我无法更改图标。我在wwwroot下有一个swagger-ui目录,我在其中放... 查看详情

如何使用 Serilog 以有效的 json 格式记录复杂对象?

】如何使用Serilog以有效的json格式记录复杂对象?【英文标题】:HowtologcomplexobjectusingSeriloginvalidjsonformat?【发布时间】:2017-02-0613:11:40【问题描述】:我有这个结构:publicclassLogRequestParameterspublicstringRequestIDget;set;publicstringTypeget;se... 查看详情

如何使用“SHOW COLUMNS”作为有效的数据源

】如何使用“SHOWCOLUMNS”作为有效的数据源【英文标题】:HowdoIuse`SHOWCOLUMNS`asavaliddatasource【发布时间】:2011-06-1415:15:01【问题描述】:我需要运行以下查询(这是我的流程的简化):SELECT*FROM(SHOWCOLUMNSFROMT1)它出错了。【问题讨论... 查看详情

如何将 swagger 2.0 JSON 文件分解为多个模块

】如何将swagger2.0JSON文件分解为多个模块【英文标题】:Howtobreakswagger2.0JSONfileintomultiplemodules【发布时间】:2015-01-1102:07:47【问题描述】:我正在尝试将我的API文档分解为多个可以独立编辑的JSON文件。我能找到的所有示例都使用S... 查看详情

如何使用 nodejs 将可读流转换为有效的 JSON?

】如何使用nodejs将可读流转换为有效的JSON?【英文标题】:HowcanIconvertareadablestreamtovalidJSONusingnodejs?【发布时间】:2014-07-3007:39:17【问题描述】:我正在尝试消费音乐会数据的ATOM提要并将其输出到JSON以便更好地消费。到目前为... 查看详情

Swagger json 验证未使用的模型警告

】Swaggerjson验证未使用的模型警告【英文标题】:Swaggerjsonvalidationunusedmodelwarnings【发布时间】:2021-05-2111:52:05【问题描述】:我遇到了OpenApijson数据验证问题。基于OpenApi验证(或editor.swagger.io),我的JSON文件有未使用的模型。我... 查看详情

在 Swagger 中使用 JSON 和 YAML 有啥实际区别?

】在Swagger中使用JSON和YAML有啥实际区别?【英文标题】:WhatisthepracticaldifferentbetweentheusageofJSONandYAMLinSwagger?在Swagger中使用JSON和YAML有什么实际区别?【发布时间】:2018-04-0923:31:02【问题描述】:JSON似乎包含路径信息和http请求动... 查看详情

如何使用gson检查json在java中是否有效?

我有方法必须检查JSON是否有效,在HowtocheckwhetheragivenstringisvalidJSONinJava上找到但它不起作用。publicstaticbooleanisJson(StringJson){Gsongson=newGson();try{gson.fromJson(Json,Object.class);returntrue;}catch(com.google.gso 查看详情

使用 Django Rest Framework,我如何上传文件并发送 JSON 有效负载?

】使用DjangoRestFramework,我如何上传文件并发送JSON有效负载?【英文标题】:UsingDjangoRestFramework,howcanIuploadafileANDsendaJSONpayload?【发布时间】:2015-07-2211:35:15【问题描述】:我正在尝试编写一个可以接收文件以及JSON有效负载的Django... 查看详情

如何从命令行使用 JSON 有效负载进行 HTTP 请求/调用?

】如何从命令行使用JSON有效负载进行HTTP请求/调用?【英文标题】:HowtodoHTTP-request/callwithJSONpayloadfromcommand-line?【发布时间】:2011-05-1722:31:14【问题描述】:从命令行进行JSON调用的最简单方法是什么?我有一个网站,它通过JSON... 查看详情