@romicohen
Системный Архитектор

Какое практическое отличие для простого советского ларавельщика в обработке POST, PUT и PATCH?

Если спуститься с небес на грешную землю, то есть ли мне какая-то практическая разница, принимаю ли я с фронта POST, PUT или PATCH, скажем, такого вида:
/api/user/1234

{"name":"Vasia","age":27}

Допустим, это таки PATCH - т.е. я делаю update данных юзера.

Но чисто практически, с точки зрения кода, будут ли какие-то отличия в зависимости от того, POST это, PUT или PATCH, кроме как в роутах?
  • Вопрос задан
  • 1973 просмотра
Решения вопроса 2
@jazzus
Разница в том, что это разные маршруты. не нужно создавать users/123/update и users/133/delete. 1 урл users/123 с 3мя методами = 3 урла и все понятно, что каждый делает. Для Ларавельщика особенно критично ибо он юзает ресурсные маршруты для которых все эти методы и придуманы. а если ларавел в ларавел не использовать, то да - удаление гет запросом или другие похожие говноварианты прокатят без каких-то тех ограничений, исключений итд.
Ответ написан
@romicohen Автор вопроса
Системный Архитектор
Трансформирую, пожалуй, ответ от jazzus :)

- НЕТ, никаких практических отличий в коде, кроме как в роутах - нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
POST - создать сущность
PUT - обновить сущность целиком
PATCH - обновить часть сущности
Ответ написан
@NubasLol
Это все было придумано много лет назад, когда сайты состояли из статических файлов, и все эти методы были применимы к ним.

HTTP был придуман намного раньше чем появился rest. В рест у нас нет метода put, path. В рест не метода head.

Методы http не тоже самое что метожы crud.

По этому как реализовать свой rest сугубо твой выбор.

Существенная разница есть между get и post.

Ну я ещё использую delete. Put и path никогда не использую.

Все решаеься документаций. Rest не жёсткий стандарт, а набор практик, по организацию api

Вот был когда то в почете wsdl там все было жёстко и поп протоколу.
Ответ написан
AmdY
@AmdY
PHP и прочие вебштучки
С практической точки зрения важное отличие - GET, POST нативно поддерживаются http клиентами и браузерами. А PUT, DELETE, PATCH и т.д. - не везде и приходится эмулировать через скрытое поле в случае Laravel.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы