FosRestBundle одиночный массив и необязательный ассоциативный массив - PullRequest
0 голосов
/ 31 августа 2018

У меня вопрос по поводу @FOSRest\RequestParam. Как я могу дать дополнительную опцию, чтобы запросить массовое изменение.

Например:

$postValue = [
  'record_id' => 1234,
  'content' => "test",
  'ttl' => 0,
  'prio' => 0,
];

VS

$postValue = [
  [
  'record_id' => 1234,
  'content' => "test",
  'ttl' => 0,
  'prio' => 0,
  ],
  [
  'record_id' => 1234,
  'content' => "test",
  'ttl' => 0,
  'prio' => 0,
  ]
];

RequestParam устанавливается следующим образом:

 * @FOSRest\RequestParam(name="record_id", allowBlank=false, requirements={"rule" = "\d+", "error_message" = "record_id must be an integer"}, strict=true, nullable=false, description="Record id")
 * @FOSRest\RequestParam(name="content", allowBlank=true, default="", description="Content")
 * @FOSRest\RequestParam(name="ttl", allowBlank=true, requirements={"rule" = "\d+", "error_message" = "ttl must be an integer"}, default={}, description="Time to live")
 * @FOSRest\RequestParam(name="priority", allowBlank=true, requirements={"rule" = "\d+", "error_message" = "priority must be an integer"}, default={}, description="Priority")

Я знаю, что использование map=true можно использовать для второго примера. Но есть ли способ проверить, какой из двух примеров используется, и извлечь параметры в зависимости от типа массива?

Я могу решить проблему с помощью Request $request, но это мое последнее решение.

Надеюсь, вы, ребята, знаете решение :) 1023 *

...