Обходной путь для большего количества глаголов REST

Я занимаюсь разработкой игрового сайта, где есть аккаунты с персонажами. Я использую маршруты:

account/{action} //execute `action` on the current account
character/{name}/{action} //execute `action` on specific character

Но мне нужно delete а также undelete (они удалены), и при использовании формы это правильный путь для delete, это становится ненужным (не так ли?) раздувать, когда я могу использовать только ссылку GET character/{name}/delete, Кроме того, нет глагола для восстановления / восстановления.

Какой правильный и простой способ (или оба, если нет идеального способа) обойти это?

2 ответа

Вы могли бы иметь версию RESTful, если в ваших URL вместо существительных есть глаголы, такие как:

character/{name}/achievements or

character/{name}/travels

Чтобы решить проблему с активным / неактивным аккаунтом, вы можете сделать:

GET/PUT account/activity

Уже не успокаивает, в котором вы определяете действие на основе маршрута, а не на основе глагола. Таким образом, создайте новый маршрут, который будет отменен (т. Е. Символ /{имя}/ восстановлен), ваш уже не REST, поэтому другой маршрут не должен иметь значения. Если вы ищете RESTful, тогда маршрут должен оставаться account/{символ}, а глагол определяет действие (то есть GET,PUT, POST DELETE для того же маршрута). Теперь, так как вы на самом деле не удаляете, я бы научился использовать POST (или, возможно, PUT) для обоих, то есть для обновления сущности для удаления (или неактивности), или для ее обновления до отмены (снова активной)

Другие вопросы по тегам