1

我正在使用laravel 5.2.*并且正在使用darkaonline/l5-swagger : ~3.0API 的文档。我在标头正文中发送参数,当我看到 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")
 * )
 *
 */
4

1 回答 1

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")
 *     ),
 *   )

这是他的样子。

于 2018-07-11T12:09:39.783 回答