Какова ценность использования PUT / DELETE с Laravel?

Для определения маршрута как ресурса сRoute::resource, документы указывают:

Verb        Path                            Action  Route Name
-------------------------------------------------------------------
GET         /resource                       index   resource.index
GET         /resource/create                create  resource.create
POST        /resource                       store   resource.store
GET         /resource/{resource}            show    resource.show
GET         /resource/{resource}/edit       edit    resource.edit
PUT/PATCH   /resource/{resource}            update  resource.update
DELETE      /resource/{resource}            destroy resource.destroy

в соответствии с типичным REST CRUD, PUT / PATCH используется для действий обновления и DELETE для действий уничтожения. Я думаю, это предназначено для определения типичного взаимодействия с ресурсами, даже когда я вручную определяю свои собственные маршруты и действия контроллера.

Вот суть того, что я понимаю об этих взаимодействиях с Laravel:

Вы можете определить маршрут для приема PUT с помощьюRoute::put и УДАЛИТЬ сRoute::delete.Input фасад используетIlluminate\Http\Request::input типизирующие взаимодействия и вернутсяjson_decode содержимого для JSON, все параметры GET для запросов GET или все параметры POST в противном случае. Мы должны использовать json или вообще не использовать PUT или DELETE (отлично, потому что запросы HTTP PUT и DELETE не поддерживаются повсеместно).Собственные помощники Laravel используют POST для запросов PUT и DELETE, включая_method в данных, так что маршрутизация может привести в исполнение глаголы.

PUT и DELETE предназначены исключительно для создания внешних JSON REST API, доступных для внешних целей, или они служат другой цели? Есть ли какая-то польза от маршрутизации на один и тот же URI с другой конечной точкой, обеспечивающей наличие_method в$_POST или JSON?

Предполагается, что PUT и DELETE являются идемпотентами, но реализовано ли это даже в Laravel? Это то, что я должен сделать в моих контроллерах или маршрутизация принудительно это как-то?

По сути, если PUT и DELETE в Laravel функционально идентичны POST, кроме семантики REST и параллельной маршрутизации, когда и почему я должен использовать их поверх POST?

Ответы на вопрос(1)

Ваш ответ на вопрос