Использование метода HTTP HEAD, когда базовый ресурс не позволяет GET - PullRequest
0 голосов
/ 14 февраля 2020

У нас есть REST API с поддержкой гиперссылок. С помощью наших автоматических тестов мы можем затем пройти по всем ссылкам в ответе и проверить, верны ли они, то есть действительно ли они доступны. Для этого мы в настоящее время используем метод HEAD HTTP. Теперь spe c утверждает, что HEAD должен вести себя как GET, но без тела. Пока все хорошо.

Но у нас также есть некоторые конечные точки, которые поддерживают ТОЛЬКО УДАЛИТЬ или PUT, но не имеют GET.

Вопрос: это все еще действительный HTTP - или имеет ли смысл - если мы также проверяем эти конечные точки с помощью HEAD? Конечно, в этом случае не должно быть никаких побочных эффектов, цель теста, по сути, будет только: «Конечная точка, вы живы и достижимы»?

Любые идеи (или может быть альтернативы)?

1 Ответ

0 голосов
/ 14 февраля 2020

Вопрос: это все еще действительный HTTP - или имеет ли смысл - если мы также проверяем эти конечные точки с помощью HEAD?

Да, это имеет смысл.

405 Метод не разрешен - ваш союзник, который дает вам возможность отличать guish ресурсы, которые не читаются от ресурсов без представлений (404).

Основной принцип заключается в том, что в REST все ресурсы одинаково понимают одни и те же методы. Поэтому HEAD - это всегда разумный выбор.

Тем не менее, вы можете рассмотреть OPTIONS , который, как и HEAD, также safe и предназначен для узнать, какие методы поддерживаются данным ресурсом.

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