Комментарии 10
PUT: будет использоваться для обновления существующего ресурса.
Частичный PUT нарушает спецификацию HTTP. Он предназначен для полной замены ресурса, а не для обновления. В чем-то сродни операции присваивания. Для частичных обновлений подходит или POST, или PATCH из RFC 5789.
А кто-то еще и наплюсил.
Я напутал так, как напутал Филдинг, автор REST и один из архитекторов HTTP/1.1
Oy, yes, PATCH was something I created for the initial HTTP/1.1 proposal because partial PUT is never RESTful. ;-)
https://twitter.com/fielding/status/275471320685367296
И так, как напутал RFC, который определяет такую семантику для PUT (которая, между прочим, обуславливает идемпотентность этого метода)
The PUT method requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.
https://tools.ietf.org/html/rfc7231#section-4.3.4
Советую посмотреть этот пример
Там есть тайпхинты. Пхпдок если избыточный, да, можно убрать. Вообще, это мелочи.
С чего бы это пятисотые не попали в лог? Симфони с настройками по умолчанию все логирует.
Строгие сравнения это дело вкуса. Но if (!$post) короче, легче читается на мой взгляд, чем if (! (bool) $post) или if ($post === null), и лучше передает семантику (если нет поста, сделать то).
Далеко не всегда код в контроллере где-то переиспользуется. И смысл тогда его выносить куда-то? А если вдруг это потребуется, что помешает это сделать в любой момент? Кроме того, контроллер это сам по себе сервис, и его можно переиспользовать, если уж на то пошло.
POST, GET — это конечно "глаголы", но в контексте http правильнее переводить как "методы" https://developer.mozilla.org/ru/docs/Web/HTTP/Methods
REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1