как обрабатывать проверку ресурсов на стороне сервера?Например, мой API выглядит следующим образом:
/books/{id}
После поиска в Google я обнаружил, что должен использовать метод HEAD, чтобы проверить, существует ли ресурс.https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
Я знаю, что могу использовать конечную точку GET и использовать метод HEAD для получения информации о ресурсе, и в этом случае сервер не возвращает тело.
Но что мне делать на серверебоковая сторона?У меня есть два варианта.
Одна конечная точка помечена как GET.В этой конечной точке я могу использовать метод GET для извлечения данных и HEAD для проверки доступности ресурса.
Две конечные точки.Один помечен как GET, второй - как HEAD.
Почему я рассматриваю второе решение?Предположим, что GET-запрос извлекает некоторые данные из базы данных и обрабатывает их некоторым образом, что занимает некоторое время, например.10 мс
Но на самом деле мне нужно только проверить, существуют ли данные в базе данных.Таким образом, я могу выполнить запрос как
select count(*) from BOOK where id = :id
и немедленно вернуть статус 200, если результат запроса равен 1. В этом случае мне не нужно обрабатывать данные, поэтому я получаю более быстрое время ответа.
Но ... ресурс в REST - это объект, который передается по HTTP, поэтому, возможно, мне следует обрабатывать данные, но не возвращать их при использовании метода HEAD?
Заранее спасибо за ваш ответ!