Какой код ответа состояния HTTP я должен использовать, если запрос пропускает обязательный параметр?

Последний ответ почти совершенен - ​​только одна коррекция:

    def replacenth(string, sub, wanted, n):
        where = [m.start() for m in re.finditer(sub, string)][n - 1]
        before = string[:where]
        after = string[where:]
        after = after.replace(sub, wanted)
        newString = before + after
        return newString

Послепорядка должна быть сохранена в этой переменной снова после замены. Спасибо за отличное решение!

365
задан Daniel Vassallo 20 June 2010 в 10:29
поделиться

4 ответа

Возврат 404 - что означает, ресурс не мог быть найден.

Попытка, редактируя URL сайта, который содержит идентификатор. Я попробовал некоторых:

  • gitub repo обзор продукта амазонки страницы
  • слияния выпуска
  • список
  • eBay статья

BBC News Весь возврат 404, imo, потому что те разработчики интерпретируют стандарт правильно, который ответ здесь и многие другие, не!

0
ответ дан 23 November 2019 в 00:09
поделиться

Я не уверен, что существует установленный стандарт, но я бы использовал 400 неверный запрос :

Запрос не может быть понят сервер из-за неправильного синтаксиса. Клиенту НЕ СЛЕДУЕТ повторять запрос без доработок.

168
ответ дан 23 November 2019 в 00:09
поделиться

Вы можете отправить 400 неверный код запроса. Это один из наиболее универсальных кодов состояния 4xx, поэтому вы можете использовать его для обозначения того, что вы намереваетесь: клиент отправляет запрос, в котором отсутствует информация / параметры, необходимые вашему приложению для его правильной обработки.

7
ответ дан 23 November 2019 в 00:09
поделиться

WCF API в .NET обрабатывает отсутствующие параметры, возвращая ошибку HTTP 404 «Конечная точка не найдена» при использовании webHttpBinding .

404 Not Found может иметь смысл, если вы рассмотрите имя метода веб-службы вместе с его сигнатурой параметра. То есть, если вы открываете метод веб-службы LoginUser (string, string) и запрашиваете LoginUser (string) , последний не будет найден.

В основном это будет означать, что метод веб-службы, который вы вызываете, вместе с указанной вами сигнатурой параметра не может быть найден.

10.4.5 404 Not Found

Сервер не нашел ничего, соответствующего Request-URI. Нет указывается, является ли состояние временным или постоянный.

400 неверный запрос , как Герт предложил , остается допустимым кодом ответа, но я думаю, что он обычно используется для обозначения проблем более низкого уровня. Его можно легко интерпретировать как искаженный HTTP-запрос, возможно, отсутствующие или недействительные HTTP-заголовки или что-то подобное.

10.4.1 400 неверный запрос

Запрос не может быть понят сервером из-за неправильного формата. синтаксис. Клиенту НЕ СЛЕДУЕТ повторять запрос без модификации.

30
ответ дан 23 November 2019 в 00:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: