2015-05-12 3 views
0

Я проектирую конечную точку, с которой клиент ударит, чтобы зарегистрировать арендатора с приложением; эти арендаторы представлены как субдомены (<subdomain>.alex.com). Я хочу зарезервировать все поддомены длиной < = 4 (например, они могут быть зарегистрированы только для избранных клиентов). Что такое «правильный» код ошибки HTTP для возврата пользователю, если они выбирают субдомен < = 4 символа?Указание недопустимого значения с причиной

400 Кажется, все в порядке, но мне интересно, есть ли лучше.

Одна мысль была бы 422:

422 Unprocessable Entity 
    The 422 (Unprocessable Entity) status code means the server 
    understands the content type of the request entity (hence a 
    415(Unsupported Media Type) status code is inappropriate), and the 
    syntax of the request entity is correct (thus a 400 (Bad Request) 
    status code is inappropriate) but was unable to process the contained 
    instructions. For example, this error condition may occur if an XML 
    request body contains well-formed (i.e., syntactically correct), but 
    semantically erroneous, XML instructions. 
+0

«Семантически ошибочный» звучит как повод для использования 422. –

ответ

0

422 код кажется хорошим для того, что вы хотите сделать, но я бы также рассмотреть вопрос о 403, которые также могут применяться. Я бы предпочел 403 по 422 по нескольким причинам, то есть в определении кода для 403 говорится, что автоматические повторы не должны выдаваться или даже просто потому, что это более часто используемый код состояния. Однако это только мое мнение. В обоих случаях я думаю, что сервер также должен отправить сообщение, объясняющее проблему, а также код состояния.

Смежные вопросы