1

I am using laravel 5.2.* and i am using darkaonline/l5-swagger : ~3.0 for the API's Documentation. I am sending parameters in header body and when I see the Swagger UI its shows me like below.

Data Type undefined

See below image for more details.

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")
 * )
 *
 */
Hassan Raza
  • 671
  • 10
  • 27

1 Answers1

1

L5-Swagger does not have data type json. You need to set your parameter schema as object through swagger definition or inline schema.

 *   @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.

Pusparaj
  • 1,469
  • 1
  • 12
  • 19