FOSRestBundle: Как удалить параметр {_format}?
Мне нужно поддерживать только один формат API, который является JSON, и я не люблю {_format} в моих маршрутах. Можно ли это убрать?
1 ответ
В вашем config.yml убедитесь, что вы настроили это:
fos_rest:
format_listener: true
routing_loader:
default_format: json
include_format: false
надеюсь, это поможет
РЕДАКТИРОВАТЬ:
В Документах FOSRestBundle есть пример, который показывает, как использовать ClassResourceInterface
, Самым большим отличием является то, что вам не нужно вручную определять маршруты. Интерфейс будет генерировать ваши маршруты на основе вашего имени класса и имени метода. Поэтому очень важно, как вы называете ваши методы (вы можете переопределить, как используется имя класса, это показано в документации)
например, что-то вроде этого:
use FOS\RestBundle\Routing\ClassResourceInterface {
class UserController implements ClassResourceInterface {
public function cgetAction() {
//return a list of all users
}
}
будет генерировать маршрут, который выглядит следующим образом: [GET] /users
, Вот как я использую комплект, и он прекрасно работает. Я также не должен использовать {_format}
вариант где угодно, потому что мне не нужно нигде определять маршруты вручную.
примечание - см. также мой первоначальный ответ, я внес изменения, которые также могут помочь с тем, как вы используете пакет. Я не пробовал использовать пакет, как вы, поэтому я не уверен, сработает ли это, или нет, но из документов видно, что он будет работать.