правильный метод HTTP для удаления свойства документа - PullRequest
0 голосов
/ 16 октября 2018

Я хочу удалить свойство документа (в monngodb), используя sth.как $ pull / $ unset.эта операция должна быть обработана собственным маршрутом.Поскольку целью этого маршрута является удаление свойства, я застрял между двумя HTTP-методами DELETE и PATCH.

DELETE используется для удаления целых документов, а PATCH в основном используется для изменения существующих свойств.Моя операция каким-то образом имеет некоторые из обоих свойств, поэтому мне интересно, какой метод HTTP лучше подходит для этого сценария.Я не мог найти описания или обсуждения в Интернете.Было бы приятно услышать что-то от вас, ребята

1 Ответ

0 голосов
/ 16 октября 2018

Это довольно субъективный вопрос, но я думаю, что он все еще стоит взломать.По моему мнению, вы могли бы сделать и то, и другое, но тогда вы захотите, чтобы ваш запрос выглядел как выбранный метод.

Лично я бы выбрал DELETE, поэтому я бы сделал URI целевым для документа, а затем свойство docs.,Это фактически сделает ваше свойство документа похожим на сам документ.Если у вас есть следующий документ, представляющий статью / сообщение в блоге.

{
  "id": "abcdefg",
  "title": "My fantastic article",
  "content": "This is my fantastic article that you're reading",
  "author_username": "elliotblackburn",
  "topic": "wonder"
}

Чтобы удалить весь документ, вы можете запросить DELETE /articles/abcdefg или удалить свойство, которое может иметь DELETE /articles/abcdefg/topic, где abcdefg представляетID документа.

Тот факт, что это один и тот же документ, является деталью реализации, но для пользователя эта тема теперь может рассматриваться как его собственный документ.Это не обязывает вас реализовывать все конечные точки для этой темы, но вы можете выбрать.

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