Что должно быть возвращено, если не указан параметр author_id, например, / books в отличие от / books? author_id = 42?
Если URL ресурса действителен
/books
, но сервер не может обслуживать этот конкретный запрос, тогда я предпочту HTTP501 Not Implemented
как код ответа. Поскольку сервер не отвечает за эту функцию. Это спорно, поскольку некоторые предпочитают4xx
HTTP-коду, но по-моему4xx
кода состояния ошибки указует палец на клиентах.W3 Стандартное определение для HTTP 501
10.5.2 501 Не реализовано Сервер не поддерживает функции, необходимые для выполнения запроса. Это правильный ответ, когда сервер не распознает метод запроса и не поддерживает его для какого-либо ресурса.
.
Я решил что если вы нажмете / книги? author_id = 42, вы получите пустую коллекцию, если у автора 42 нет книг, вместо, например, возврата 404.
Это абсолютно нормально.
Следующий вопрос -
Однако в случае, если client_id имеет значение NULL, я не уверен, должен ли я рассматривать этот случай одинаково (т. е. автор с идентификатором null не имеет книг), или если оно должно быть чем-то вроде 400, обрабатывая null как недопустимое значение для client_id
Это тоже хорошо. Поскольку клиент отправляет неверный идентификатор, его можно исправить с клиентской стороны, поэтому
400 Bad Request
подходит для этого случая.
Используйте эти replace
функция в js:
var emailAdd = $(this).text().replace(/ /g,'');
, Который удалит все пробелы
, Если Вы захотите удалить продвижение и запаздывающий пробел [только 116], используйте $ jQuery .trim метод:
var emailAdd = $.trim($(this).text());
На самом деле jQuery имеет созданный в функции для обрезки:
var emailAdd = jQuery.trim($(this).text());
См. здесь для деталей.