Intereting Posts
Почему curl_multi_exec () не выполняет мои скрипты вообще? Ошибка jQuery 501 (Неподдерживаемый метод ('POST')) При вставке объекта с ассоциациями существует ли способ использовать FK вместо получения объекта? Создание нового PDF путем слияния PDF-документов с использованием TCPDF WP_Query () не возвращает все записи Возможно ли, что выражение в объявлении массива … возможно? Как различаются операторы сравнения с равенством равенства (== double equals) и идентичности (=== triple equals)? Самый быстрый способ проверить, является ли строка JSON в PHP? Проверка exec () выполняется успешно или нет вставлять в базу данных из дублированного текстового поля, если не пусто php sql Как изменить внешний вид URL-адреса из PHP-скрипта Доступ к стоимости доставки в тележке Magento и / или оформлении заказа скрипт образца php для разбивки на страницы Что такое Python, что «взрывается» для PHP? форма заменена на textarea, не дает другой выход

Какова ценность использования 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 и DELETE с помощью 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 исключительно там, чтобы создавать API-интерфейсы REST, доступные извне, или они служат другой цели? Есть ли какая-то польза от маршрутизации к одному и тому же URI с другой конечной точкой, обеспечивающей наличие _method в $_POST или json?

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

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

Вы используете метод PUT когда хотите обновить запись, и вы используете метод DELETE когда хотите удалить запись.

Обратите внимание, что в находчивом контроллере оба метода PUT и DELETE направлены на один и тот же url (resource/{resource}) , поэтому, если вы не различаете метод с PUT или DELETE , это будет проблемой.