2015-02-27 2 views
0

Я пишу restfull ws и смущенно о том, какой код состояния я должен вернуть. Это зависит от бизнес-логики.Restfull service: status code return

1) вызов клиента ws и ws успешно вызван. С точки зрения бизнес-логики это случай успеха. Поэтому в этом случае я отправляю 200 OK с успешным сообщением.

2) Клиентский вызов my ws и ws успешно вызван. С точки зрения бизнес-логики это неудачный случай, т.е. отсутствует emp id. Так что в этом случае я отправляю 200 OK с emp id not present msg. Поэтому я должен отправить 200 OK или любой другой код состояния.

3) Если в моей бизнес-логике произошло какое-то исключение, я отправляю 200 OK с технической ошибкой. Правильно ли это

Что такое стандарты.

+0

Try и следовать [это] (HTTP: //www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) по возможности –

+0

Взгляните на [коды состояния HTTP] (https://en.wikipedia.org/wiki/List_of_HTTP_status_codes). Например, вы должны использовать '400 Bad Request', если клиент отправил неверный запрос. – alexvetter

ответ

3

Вы должны использовать стандартные коды состояния HTTP. Чтобы ответить на ваши вопросы:

  1. Здесь HTTP OK (200) правильный ответ
  2. Вы должны вернуть HTTP NOT FOUND (404) с (по выбору/в зависимости от бизнес-логики) полезное сообщение, что было не найдено.
  3. Здесь вы должны вернуть HTTP INTERNAL SERVER ERROR (500), при необходимости (если клиент должен знать) с сообщением, что пошло не так

HTTP Status Codes