Naming Rest API для проверки конечных точек - PullRequest
0 голосов
/ 30 апреля 2020

В остальных API для конечных точек соблюдается соглашение о том, чтобы не называть их глаголами как getAllStudents . Но проблема, с которой я столкнулся в последнее время, заключается в том, как обосновать конечную точку проверки. Например, я хочу проверить отпечаток пальца пользователя.

Как мне назвать конечную точку? Один из способов, о котором я думал, был POST / user / {id} / verify-fp . Это правильно ??

Чем я хочу сделать конечную точку, чтобы получить, если пользователь заблокирован или нет. Для этого я не могу придумать ни одного имени. Обратите внимание, что я не хочу возвращать какие-либо пользовательские данные, которые я просто хочу вернуть, если истина или ложь, поэтому GET / users / {id} не будет работать для меня.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Определенно есть случаи, когда «хороший дизайн REST» - не лучший подход для каждого варианта использования. Хотя можно придерживаться соглашений REST и строго думать о конечных точках с точки зрения передачи их полного состояния, не используйте глаголы в URI и т. Д. c, но при некоторых операциях, таких как ваша, боль в этом может не быть Стоит.

Конечные точки, подобные этим, безусловно, больше похожи на RP C, и это лучше подходит. Поэтому использование POST в конечной точке с таким именем, как /user/{id}/verify-fp, кажется хорошим местом для исключения.

0 голосов
/ 30 апреля 2020

Для вашего первого варианта использования, /fpverification/{id}/verify работает просто отлично. Хотя, если вы используете первичный ключ, более простой способ сделать это будет:

 fpverification/<int:pk>/verify

Чтобы проверить блокировку, я бы вложил ее в путь пользователя. Таким образом, ваша конечная точка может выглядеть следующим образом:

 users/<int:pk>/validate

В качестве альтернативы, если вы часто проверяете состояние блокировки, вы можете включить состояние true / false в полезную нагрузку пользователя при отправке запроса на исходную ссылку .

...