【问题标题】:l5-Swagger Data Type undefinedl5-Swagger 数据类型未定义
【发布时间】:2018-04-18 11:15:07
【问题描述】:

我正在使用 laravel 5.2.* 并且我正在使用 darkaonline/l5-swagger : ~3.0 作为 API 文档。我在标头正文中发送参数,当我看到 Swagger UI 时,它显示如下。

数据类型未定义

详情请看下图。

/**
 * @SWG\Post(
 *   path="/api/v1/compaign_attr",
 *   summary="List compaign attributes",
 *   @SWG\Parameter(
 *     name="campaign_id",
 *     in="body",
 *     description="ID to fetch the targeted compaigns",
 *     required=true,
 *     @SWG\Property(property="request", type="json", example={ "campaign_id": 818, "code":"PLATFORM", "type":"Message"}  )
 *   ),
 * @SWG\Parameter(
 *     name="x-api-key",
 *     in="header",
 *     description="api key validation",
 *     required=true,
 *     type="string",
 *   ),
 *   @SWG\Response(response=200, description="successful operation", @SWG\Property(property="result", type="json", example={ "aa": { "bb", "cc" } }  )),
 *   @SWG\Response(response=401, description="not authorized"),
 *   @SWG\Response(response=500, description="internal server error")
 * )
 *
 */

【问题讨论】:

  • 请发布您的 Swagger JSON/YAML 文件,或者如果它是从代码生成的 - POST /api/v1/compaign_attr 的代码(带有注释等)
  • @Helen!我添加了注释。

标签: laravel-5.2 swagger-2.0 swagger-php


【解决方案1】:

L5-Swagger 没有数据类型 json。您需要通过 swagger 定义或内联架构将参数架构设置为对象。

 *   @SWG\Parameter(
 *     in="body",
 *     name="body",
 *     required=true,
 *     description="ID to fetch the targeted campaigns.",
 *     @SWG\Schema(
 *         @SWG\Property(property="campaign_id", type="integer", example=818),
 *         @SWG\Property(property="code", type="string", example="PLATFORM"),
 *         @SWG\Property(property="type", type="string", example="Message")
 *     ),
 *   )

This his how it looks.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多