Чем больше я ищу Google, тем более Именование RESTful кажется более черным, чем стандартным. Я хотел бы изложить сценарий, который у меня есть, и мое текущее направление мышления, и попросить тех из вас, у которых есть опыт REST, взвешивать.Подробнее RESTful, назвав
У меня есть объект «Packet», который вы можете представить как физическую папку или связующее , Внутри этого пакета есть одна или несколько форм. Моя система представляет их как ресурс, называемый PacketForms. Каждая запись формы имеет столбец SortIndex, который определяет, в каком порядке отображаются или печатаются формы.
Когда я показываю список форм в приложении, есть стрелки вверх/вниз, которые позволяют пользователю изменять форму SortIndex. Итак, теперь я готов выполнить это действие.
Моя первая мысль заключалась в том, чтобы иметь операцию специально для продвижения/понижения формы формы в порядке сортировки. Если я пойду с этим подходом, основанный на том, что я здесь видел, кажется, что я должен думать о индексе сортировки сам как ресурс. Итак, я мог бы выразить свое намерение в строке запроса, так, верно?
PUT/PacketFormSortIndex/5? Действие = Содействие
Но я также подумал, почему бы не только обновить саму PacketForm и пусть фоновым взгляд на изменения в SortIndex. Вместо того, чтобы продвигать/понижать подход, если SortIndex изменен, я поменяю его на форму, которая в настоящее время имеет этот индекс. Итак, если кто-то обновляет PacketForm с SortIndex = 3, чтобы иметь значение SortIndex = 2, система будет обновлять обе записи для выполнения свопа.
Лично мне нравится атомная природа первого подхода. У этого есть очень конкретная, ясная цель, и код на задней стороне чище. Но если я распространяю эту логику в своей системе, я немного беспокоюсь о «разрастании ресурсов».
Итак, я думаю, у меня есть еще два вопроса. Который, если любой из этих подходов чувствует себя более «RESTY» для вас? Если это первый, целесообразно ли использовать запрос в том порядке, который я предложил, или существует ли более RESTful способ организовать этот URL-адрес?
Для чего-то, что используется так широко, я действительно борюсь с широким разнообразием информации, которую я нашел, поэтому ваша перспектива очень ценится.