Соответствующей частью спецификации здесь является Ошибка клиента 4xx .
За исключением случаев, когда при ответе на запрос HEAD сервер ДОЛЖЕН отправить представление, содержащее объяснение ошибки.ситуация, и является ли это временным или постоянным условием.
ПАгентам СЛЕДУЕТ отображать любое включенное представление пользователю.
Другими словами, код состояния - это метаданные, которые указываютдля компонентов общего назначения, что полезная нагрузка ответа является объяснением ошибки, а не представлением ресурса.
Если то, что вы на самом деле делаете, возвращает представление ресурса, который находится в данный моментпустой список, значит, вы должны использовать код Successful, а не код ошибки клиента.
Например, если у нас есть ресурс, в котором перечислены женщины, приведенные к присяге в кабинете президента Соединенных Штатов,выражение этого ресурса по состоянию на 2019-09-25 будет пустым списком.Таким образом, стандартный HTTP-ответ будет выглядеть так:
200 OK
Content-Type: application/json
[]
С другой стороны, этот ответ говорит о совершенно другом
404 Not Found
Content-Type: application/json
[]
То, что это говорит о том, что не было текущего представления запрошенногоресурс, и представление объяснения проблемы является пустым списком, поэтому, пожалуйста, покажите пользователю пустой список, чтобы он знал, что делать.