Операция удаления в веб-сервисе Restful - PullRequest
1 голос
/ 21 октября 2011

Я столкнулся с ситуацией в моем веб-сервисе, когда мне приходится удалять ресурс и обновлять другие ресурсы, которые ссылаются на этот ресурс, другим ресурсом, указанным пользователем. Как я могу добиться этого RESTful способом?

Например: УДАЛИТЬ ресурс агента / 123 Некоторые клиенты могут быть назначены этому агенту, поэтому при удалении Агента 123 пользователь будет указывать другого агента 125 для всех этих клиентов.

Я думал о следующих путях:

УДАЛИТЬ запрос на URL агента / 123/125 На сервере я обработаю этот запрос по адресу Agent / 123, а новый идентификатор агента будет принят за 125. Я чувствовал, что это совершенно не в духе RESTful, поэтому подумал отбросить эту идею. Пожалуйста, дайте мне знать, если это спокойный способ.

Другой вариант: Удалить агент / 123? ReAssignId = 125

Я не уверен, что это тоже спокойный способ или нет, я сталкивался с этим методом в этом вопросе . Я все еще не убежден в этой стратегии.

Кто-нибудь сталкивался с этой ситуацией, как с этой ситуацией следует обращаться в спокойной манере?

Ответы [ 3 ]

1 голос
/ 21 октября 2011

FWIW, мне нравится опция Delete Agent/123?ReAssignId=125, потому что номер переназначения - это просто мета-значение, связанное с операцией удаления. Основная операция - удаление (ресурс удаляется и больше не доступен).

0 голосов
/ 21 октября 2011

Чтобы быть действительно RESTful, вам нужно будет индивидуально обновить каждый ресурс клиента, а затем удалить агента.Но если вы поняли, что это скорее ориентир, чем все остальное, я действительно не вижу причин, по которым вы бы не использовали свою технику ReAssignId.

0 голосов
/ 21 октября 2011

Это больше похоже на операцию ОБНОВЛЕНИЕ и УДАЛЕНИЕ позже, когда новый агент назначен для клиентов. Если оба метода должны быть несколько атомарными, я думаю, что лучший способ REST - организовать это на клиенте.

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