У меня есть интегрированный swagger php api outr rest-api, все службы работают нормально, но я сталкиваюсь с проблемой в массиве post json в api. это не работает, пожалуйста, помогите мне.
Вот мой код чванства API
/**
* @SWG\Post(path="/createbetsnap/get_all_game_data",
* tags={"Create Betsnaps Section"},
* summary="This function used to get selected tournament schedule date and other master data like size, prize structure and entry fee",
* description="",
* operationId="get_all_game_data",
* produces={"application/json"},
* consumes={"application/json"},
* @SWG\Parameter(
* name="Login_Session_Key",
* in="header",
* description="The Login Session Key of logged in user.",
* required=true,
* type="string"* ),
* @SWG\Parameter(
* name="game_tournament",
* in="formData",
* description="The game tournament ids array field.",
* required=true,
* type="array",
* @SWG\Items(type="string")
* ),
* @SWG\Response(response=200, description="success message with data array"),
* @SWG\Response(response=500, description="Invalid username/password supplied")
* )
*/
Выше полный код на чванство, которое я добавил перед моим API.
Я хочу опубликовать поле game_tournament как
{"game_tournament":["18","8"]}
Но из сообщения Swagger-UI панели в формате ниже
game_tournament=8,18
Можете ли вы помочь мне, что не так с моим кодом, что мне нужно изменить.
Заранее спасибо.
Для размещения данных JSON необходимо использовать in: body
параметр и укажите тип данных, используя @SWG\Schema
:
* @SWG\Parameter(
* name="game_tournament",
* in="body",
* description="The game tournament ids array field.",
* required=true,
* @SWG\Schema(
* type="array",
* @SWG\Items(type="string")
* )
* ),
используя, например, Пакет Swagger Lume для Laravel / Lumen, вы можете получить то, что вы спрашиваете:
* @OA\Parameter(
* name="game_tournament[]",
* in="query",
* description="The game tournament ids array field",
* required=true,
* @OA\Schema(type="array", @OA\Items(type="string")),
* ),
Просто попробуйте:
* @SWG\Parameter(
* name="game_tournament[]",
* type="array",
* items="string",
* collectionFormat="multi",
* required=true,
* in="query",
* ),