Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
web api return status code
|
|||
|---|---|---|---|
|
#18+
возникла дилемма как возвращать ошибки из веб апи. есть 2 варианта: 1) делать как твитере HttpStatusCode и ошибки внутри веб апи держать отдельно т.е. твитер шлет при любом запросе 200 и в теле уже ошибку к примеру доступа. естественно у него другие коды как 400,404 и прочее есть но исключительный моментов. 2) либ основываться на HttpStatusCode, но тут свой особенности: к примеру jsonp только с 200 работает или клиенты через тот же webrequest+c# получат в ответе ошибку и им надо будет ловить в трайкече, хотя формально запрос прошел просто в веб апи методе мы написали верни к примеру 400 и потом пойми сервак упал или метод виноват. кто реализовывал прощу поделиться опытом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 18:10 |
|
||
|
web api return status code
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, .. не знаю, верно ли это по феншую, или нет, но делаю по первому методу, т.е. Код: c# 1. ...а потом в result.Content либо контент, либо ошибку .. хотя он и сама выскакивает в Response ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2014, 19:15 |
|
||
|
web api return status code
|
|||
|---|---|---|---|
|
#18+
ну вот в таком случае как отличить 404 когда клиент ошибся в пути от того что запрос прошел но в бд не нашлось к примеру для поиска ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:59 |
|
||
|
web api return status code
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuну вот в таком случае как отличить 404 когда клиент ошибся в пути от того что запрос прошел но в бд не нашлось к примеру для поиска ... ну вот реальный пример если не правильный путь http://www4.office/usersapi/ api2 /ats/GetPdf/47 - честный 404 если путь правильный, но индекс вне диапазона http://www4.office/usersapi/ api /ats/GetPdf/47 {"Message":"Произошла ошибка.","ExceptionMessage":"Индекс находился вне границ массива.","ExceptionType":"System.IndexOutOfRangeException","StackTrace":" в UsersApi.Controllers.AtsController.GetCalls(String id) в G:\\WebAPI\\UsersApi\\UsersApi\\Controllers\\AtsController.cs:строка 45\r\n в UsersApi.Controllers.AtsController.GetPdf(String id) в G:\\WebAPI\\UsersApi\\UsersApi\\Controllers\\AtsController.cs:строка 128\r\n ..ну и тд ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:25 |
|
||
|
web api return status code
|
|||
|---|---|---|---|
|
#18+
carrotik, и при этом будет какой статус во втором случае? 400 или 500? но тут сам по себе реквест прошел, почему бы не вернуть 200 что все с апи хорошо, а в теле отдать свою ошибку мол не найдено и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:59 |
|
||
|
web api return status code
|
|||
|---|---|---|---|
|
#18+
handmadeFromRucarrotik, и при этом будет какой статус во втором случае? 400 или 500? но тут сам по себе реквест прошел, почему бы не вернуть 200 что все с апи хорошо, а в теле отдать свою ошибку мол не найдено и все. .. в фидлере 500 ... но я ж говорю, я не теоретик, поэтому, как правильно - фикзнает .. Сам бы хотел узнать .. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 13:01 |
|
||
|
|

start [/forum/topic.php?fid=18&tid=1357602]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 396ms |

| 0 / 0 |
