Правила API REST - я должен отправить всю сущность или только свойства для обновления - PullRequest
0 голосов
/ 27 февраля 2020

Я занимаюсь разработкой веб-приложения с базой данных.

  • В базе данных: у меня есть сущность по имени Гарри со своими свойствами: Id, Power, x, y
  • Для front-end: я использую Angular.

С Angular я отправляю на свой сервер новую координату Гарри (относительно его движения), а в бэкэнде я возвращаю координату с помощью POST.

Мой вопрос: Если я хочу придерживаться правил API REST, должен ли Angular отправить только координату Гарри или всю сущность, чтобы я мог обновить x и y в базе данных?

спасибо

Ответы [ 2 ]

0 голосов
/ 27 февраля 2020

Важной особенностью API Restful является необходимость использования правильного HTTP-глагола.

  • Post -> Создает новый ресурс
  • Put -> Замены ресурс
  • Patch -> Обновление ресурса

Patch также более эффективен, так как вам нужно только отправить то, что изменилось. В вашем случае, patch, вероятно, предпочтительнее.

источник: https://en.wikipedia.org/wiki/Representational_state_transfer#Relationship_between_URI_and_HTTP_methods

0 голосов
/ 27 февраля 2020

Оба варианта могут быть RESTfull. У вас есть несколько вариантов:

1) Отправить POST со всей сущностью

2) Если вам всегда нужно обновить только координаты, вы можете использовать PATCH .

3) Вы также можете использовать POST для обновления только координат, если вы строите новый объект Id, x, y. Но PATCH, вероятно, будет лучше в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...