Я использую (и новичок) Symfony 3 и NelmioApiDocbundle. Я хочу обработать запрос POST, который имеет необязательные параметры запроса. URL будет что-то вроде:
http://example.com/api/updateusers?token=some_long_value
Вот что я попробовал для своих аннотаций:
/**
* Returns a JSON object.
*
* @ApiDoc(
* resource=true,
* description="Update a user's information.",
* requirements={
* {
* "name"="userid",
* "dataType"="string",
* "requirement"=".+",
* "description"="the user to update"* }
* },
* parameters={
* {"name"="data", "dataType"="text area", "required"=true, "description"="Free form xml data."}
* },
* filters={
* {"name"="token", "dataType"="string", "required"=true, "description"="auth token for current user - user that you're making the request on behalf of."},
* },
* )
* @Route("api/updateusers")
* @Method("POST")
*/
Требования, параметры и фильтры отображаются в теле POST в изолированной программной среде API. Есть ли другой тип определения, который я могу использовать, который покажет параметр запроса в изолированной программной среде API? Если я пропущу песочницу и отправлю запрос непосредственно на сервер, токен будет правильно отображаться как значение GET. Но я бы хотел использовать песочницу API для тестирования и документации.
Попробуйте добавить это в свои аннотации, надеюсь, это поможет вам.
@QueryParam(name="<your_name>", nullable=[true|false], requirements="\d+", description="<your_decription>")
Других решений пока нет …