【问题标题】:How do I format OpenApi in swagger-php so that the swagger-ui shows a form instead of an array?如何在 swagger-php 中格式化 OpenApi,以便 swagger-ui 显示表单而不是数组?
【发布时间】:2021-05-25 02:14:09
【问题描述】:

我正在构建 Laravel,并将我的所有 API 控制器方法的符号从 @SWG 更新到 @OA。当我在创建方法的 swagger-ui 中点击“试用”时,我能够让它显示(并接受)一个可编辑的参数和值数组(后者是我编写的示例),但是我宁愿获得给定参数的一种形式,而不是在正文中发送,而不是在查询中发送。我可以在旧版本中通过添加参数并将“in”参数设置为“body”来做到这一点,但文档说我现在必须使用 requestBody。对结果不太满意...功​​能正常,但不是最佳的。

这是我目前正在使用的 requestBody 示例:

/**
 *
 * @OA\RequestBody(
 *     request="Answer",
 *     description="Answer object that needs to be added.",
 *     required=true,
 *     @OA\JsonContent(ref="#/components/schemas/Answer")
 * )
 */

我怀疑我需要对@mediaType 做一些事情,但是当我尝试使用参数列表时,它没有给我任何东西 8(

我错过了什么?

【问题讨论】:

    标签: laravel swagger swagger-ui openapi swagger-php


    【解决方案1】:

    我将 requestBody 与响应混为一谈......我认为我需要发送 json 来取回 json。不,哈哈,只需要使用表单数据 mediaType 发送它。

    这就是我最终得到的结果,以防它对某人有所帮助:

    /**
     *
     *  @OA\RequestBody(
     *      request="Answer",
     *      description="Answer object that needs to be added.",
     *      required=true,
     *      @OA\MediaType(
     *          mediaType="multipart/form-data",
     *          @OA\Schema(ref="#/components/schemas/Answer")
     *      )
     *  )
     */
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 2022-06-24
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      • 2020-12-22
      • 1970-01-01
      相关资源
      最近更新 更多