Как указать тело JSON по умолчанию в Swagger-PHP?

Я хочу указать тело JSON по умолчанию для запроса POST в Swagger-PHP. Мои аннотации выглядят так:

/**
 * Setup order
 *
 * @SWG\Post(
 *      path="/order/setup",
 *      operationId="setupOrder",
 *      tags={"Orders"},
 *      summary="Setup an order with status draft.",
 *      description="Setup an order with status draft",
 *      consumes={"application/json"},
 *      @SWG\Parameter(
 *          name="body",
 *          in="body",
 *          default="{}",
 *          description="Json order info body (customer and products info)",
 *          required=true,
 *          @SWG\Schema(type="string")
 *      ),
 *      @SWG\Response(
 *          response=200,
 *          description="successful operation"
 *       ),
 *       @SWG\Response(response=400, description="Bad request"),
 *       security={
 *           {"api_key_security_example": {}}
 *       }
 *     )
 *
 */

Как вы можете видеть, я пытаюсь достичь значения по умолчанию с default="{}", но Swagger UI игнорирует это значение и вместо него помещает строку как значение по умолчанию:

Как я могу изменить часть 'string' на объект JSON по умолчанию?

2 ответа

Вы можете достичь, как вы ожидали, изменив свой @SWG\Parameter(),

Пример (посмотрите на пример свойства):

 *   @SWG\Parameter(
 *     name="body",
 *     in="body",
 *     description="User email used to create account.",
 *     required=true,
 *     @SWG\Schema(@SWG\Property(property="email", type="string", example="email@example.com")),
 *   )

Эта аннотация создаст что-то вроде этого

Вы можете использовать как ниже.

/**
 * Setup order
 * @SWG\Post(
 *      path="/order/setup",
 *      operationId="setupOrder",
 *      tags={"Orders"},
 *      summary="Setup an order with status draft.",
 *      description="Setup an order with status draft",
 *      consumes={"application/json"},
 *      @SWG\Parameter(
 *          name="body",
 *          in="body",
 *          default="{}",
 *          description="Json order info body (customer and products info)",
 *          required=true,
 *          @SWG\Schema(ref="#/definitions/testDefinitions")
 *      ),
 *      @SWG\Response(
 *          response=200,
 *          description="successful operation"
 *       ),
 *       @SWG\Response(response=400, description="Bad request"),
 *       security={
 *           {"api_key_security_example": {}}
 *       }
 *     )
 *  @SWG\Definition(
 *      definition="PlanResponse",
 *      example={
 *         "type":"string"
 *      }
 *     )
 */

Спасибо,

Другие вопросы по тегам