powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
25 сообщений из 370, страница 10 из 15
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715671
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонТы ветку читаешь вообще?
Ссылку на примеры от MS открыть в состоянии или их сюда перепечатать?

Т.е. аргументов у Вас нет?
Вы даже не вникли в то, о чем там речь идет. Не посмотрели название статьи. Вас не смутило "For example, ..."
По сути сложно спорить с людьми, которые не могут аргументировать свою позицию.

И на "Вы" , пожалуйста.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715675
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

Я понял, по RFC.
Но все же, у меня два разных случая.
Хотелось бы знать ответ для одного и для другого.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715686
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Addx404 - это ошибка протокола (неверный адрес) или ошибка на уровне бизнес-логики (адрес правильный, но данных нет)?

вот читаю дискуссию, и пока в сомнениях... мне ближе "неверный адрес". но Хвост говорил выше - что это одно и тоже. а я Хвосту верю :)
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715698
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxПарамонТы ветку читаешь вообще?
Ссылку на примеры от MS открыть в состоянии или их сюда перепечатать?

Т.е. аргументов у Вас нет?
Вы даже не вникли в то, о чем там речь идет. Не посмотрели название статьи. Вас не смутило "For example, ..."
По сути сложно спорить с людьми, которые не могут аргументировать свою позицию.

И на "Вы" , пожалуйста.
Сложно говорить с людьми, которые совсем не в теме.
Вот этот код хорошо видно?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public Product GetProduct(int id)
{
    Product item = repository.Get(id);
    if (item == null)
    {
        var resp = new HttpResponseMessage(HttpStatusCode.NotFound)
        {
            Content = new StringContent(string.Format("No product with ID = {0}", id)),
            ReasonPhrase = "Product ID Not Found"
        };
        throw new HttpResponseException(resp);
    }
    return item;
}



Ты что спросил?

Addx404 - это ошибка протокола (неверный адрес) или ошибка на уровне бизнес-логики (адрес правильный, но данных нет)?

Теперь я медленно перевожу. В этом коде, 404 возвращают когда (внимание!) нет данных.
Настоятельно советую ознакомится с предметкой.

Пояснения для новичков:

== оператор равенства.
Приравнивание item == null значит данных нет.
HttpStatusCode.NotFound это 404, читаем доку.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715702
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxВы даже не вникли в то, о чем там речь идет. Не посмотрели название статьи. Вас не смутило "For example, ..."

Перевожу:

Обработка исключений в asp.net web api.
Что в этом загаловке тебе не ясно?
Да, мы тут все это время говорили об сключениях.
Пример это лучшее наглядное пособие, по этому не смутило.

А что смутило тебя?
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715705
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонСложно говорить с людьми, которые совсем не в теме.
Вот этот код хорошо видно?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public Product GetProduct(int id)
{
    Product item = repository.Get(id);
    if (item == null)
    {
        var resp = new HttpResponseMessage(HttpStatusCode.NotFound)
        {
            Content = new StringContent(string.Format("No product with ID = {0}", id)),
            ReasonPhrase = "Product ID Not Found"
        };
        throw new HttpResponseException(resp);
    }
    return item;
}



Ты что спросил?

Addx404 - это ошибка протокола (неверный адрес) или ошибка на уровне бизнес-логики (адрес правильный, но данных нет)?

Теперь я медленно перевожу. В этом коде, 404 возвращают когда (внимание!) нет данных.
Настоятельно советую ознакомится с предметкой.

Пояснения для новичков:

== оператор равенства.
Приравнивание item == null значит данных нет.
HttpStatusCode.NotFound это 404, читаем доку.

Если Вы думаете, что хамство усиливает Вашу позицию, то Вы ошибаетесь.
Это говорит исключительно о характере человека.
Увы, базовые операторы языка - это еще не все.
То, что Вы знаете синтаксис C#, это, конечно, неплохо.
А вот с пониманием статьи - о чем она, что, зачем, и почему там так делается у Вас хуже.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715709
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонА что смутило тебя?


Лично меня ничего не смутило. А должно было?
Статья об обработке исключений в Web API.
Абсолютно стандартная страница из документации.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715710
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxУвы, базовые операторы языка - это еще не все.
То, что Вы знаете синтаксис C#, это, конечно, неплохо.
Правильно, знать синтаксис, неплохо для начала.

AddxА вот с пониманием статьи - о чем она, что, зачем, и почему там так делается у Вас хуже.
Там нечего объяснять, уровень 1 + 1. Но ты попробуй, а то все время это я.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715712
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонAddxУвы, базовые операторы языка - это еще не все.
То, что Вы знаете синтаксис C#, это, конечно, неплохо.
Правильно, знать синтаксис, неплохо для начала.

AddxА вот с пониманием статьи - о чем она, что, зачем, и почему там так делается у Вас хуже.
Там нечего объяснять, уровень 1 + 1. Но ты попробуй, а то все время это я.

Насчет Вас я уже все понял, хамите дальше.
Кому-нибудь другому.
Тут много людей, с которыми можно подискутировать без откровенного хамства с их стороны.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715713
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxСтатья об обработке исключений в Web API.
Абсолютно стандартная страница из документации.

Ок, первый шаг сделан.

Теперь экзамен.
Какой статус вернет сервис в случае, когда продукт не найден в базе данных?
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715715
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxТут много людей, с которыми можно подискутировать без откровенного хамства с их стороны.
Всегда забавляют такие.
Говорят по хамски, ответил так же, обижаются.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715722
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонAddxСтатья об обработке исключений в Web API.
Абсолютно стандартная страница из документации.

Ок, первый шаг сделан.

Теперь экзамен.
Какой статус вернет сервис в случае, когда продукт не найден в базе данных?

вооот. меня тоже это интересует!
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715731
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach,

HttpStatusCode.NotFound это 404
Вы сговорились?
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715732
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамонlove_bach,

HttpStatusCode.NotFound это 404
Вы сговорились?

нет. это Хвост, собака его за ногу. Не так?
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715733
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я всегда NoContent возвращал. но сейчас я в замешательстве
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715735
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонТут могла быть ошибка, и тогда вменяемый сервис вернет 4xx.

Я до сих пор не увидел с какого боку, перепугу, по какой нахрен религии
сервис, возвращающий в 400 бизнесовые сообщения является вменяемым.

Ты не в состоянии это пояснить. А долбишь одно и то же, как заведённый.
Это не продуктивно. Да ещё и позорно, тратишь время на прочтение твоих бредовых опусов.

ПарамонРазумеется, тестируют максимум возможных кейсов от клиента, и возврат правельных статусов.

В ASP.NET ошибка 500 приводит в том числе по неотловленному эксепшену. т.е. это явная ошибка программистов ПО. Вы это тестируете? Предсказываете все ошибки?

400 обратный случай -- это явная ошибка клиента, неправильно составленный запрос.

Что вы там тестируете, поведай нам? Потому я пока пребываю в уверенности, что ты придумываешь и врёшь нам.

ПарамонКак уж на сковородке, все смеются уже. Просто скажи - оплата в твоем монимании это теперь уровень протокола и твой сервис вернет "200 + извините, вы не заплатали". )) Ты ведь так прямо и написал в преидущем посте.
Ну или забыл заплатить за протокол, тогда 402

Я не вижу никаких противоречий, смеешься над собой.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715737
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамонps
Как бы практика серьезных, мировых лидеров в этой области заслуживает внимания, в отличае от форумных Д’Артаньянов.

Практика всегда идёт как доп. обоснование, но никак не основное.
Почему вы так делаете? Что это даёт? Какие преимущества?

Твой ответ:

Так делают в Амазон (и два галимых примера). ПОх. ПОх.

Понимаешь, как ты выглядишь? Не обуссудь.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715742
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuя тебе уже объяснил что по последнему rcf http трактуют как протокол уровень приложения, так как это уровень приложения он должен показывать состояние, там четко написано что 400 это ошибки клиента и не важно какие.

у нас в некоторых приложениях сотни статусов ошибок на уровне бизнеса.
куда предлагаешь их засунуть?
и как ты предлагаешь их увязать с HTTP кодами?
что это даст?
зачем вообще тебе коды ошибок HTTP? -- кто-нибудь может вообще пояснить этот вопрос, или так и будем фигню морозить???


handmadeFromRu1. на основе rfc http часть приложения а значит должно отражать его состояние в конкретный момент времени

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


handmadeFromRu2. я могу тестировать апи и понимать что запрос не прошел крайне просто

как ты отделишь на уровне чёрного ящика (не зная формат JSON/XML/etc сообщений) сообщения бизнеса от реальны ошибок протокола?

3. ты не видишь проблемы , потому что ты а) не админ б) никогда не работал в разработке с крупной экосистемой, где есть админы, которые явно тебя скажут об этом в) да хз, ты уже заявлял, что тебе пофигу куда и с каким кодом писать, как фишка ляжет, по настроению... о чём тогда говорить?

4. тоже самое. бизнес-сценарии все тестируются, втом числе негативные. не тестируется работа протокола, никому не придёт в голову тестировать то, как работает сервер приложений, как работает биндинг ASP.NET и т.д., потому что это уже давно протестировано Microsoft и другими компаниями.

моя аргументация пока не поколебима.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715748
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЯ до сих пор не увидел с какого боку, перепугу, по какой нахрен религии
сервис, возвращающий в 400 бизнесовые сообщения является вменяемым.

Ладно, будем как в школе, на пальцах.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
Content-Length: 320

{
  "Message": "The request is invalid.",
  "ModelState": {
    "item": [
      "Required property 'Name' not found in JSON. Path '', line 1, position 14."
    ],
    "item.Name": [
      "The Name field is required."
    ],
    "item.Price": [
      "The field Price must be between 0 and 999." // внимание!
    ]
  }
}



Итак обсудим для на чала цену.

Цена может быть в интервале от 0 до 999.
И так, кто это решает? Это решает бизнес!
Что это значит? Значит, что это чисто бизнес правило ! В другом бизнесе цена может быть от 10 до 3000.
Тут протокол никаким боком не завязан, а просто, так решил продавец пылесоса.
И завра он может это правило изменить, и менять его хоть каждый день.

Ты вообще учавствовал в разработке коммерческих API, или только сам себе на страничку данные слал?
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715750
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach,

404 ты возвращаешь в двух случаях:

1. неправильный URL, для которого не найдено ни одного маршрута, это делает платформа обычно
2. URL правильный, маршрут найден, но ресурс, на который указывает URL (некий ID, например) отсутствует или удален.

спрашивается, не противоречит ли это тому, что это ошибка протокола?
нет, так как здесь всё завязано на URL, и никакой логики дальше проверки наличия ресурса не выполняется.
также, ответ на URL может быть закеширован, на основе этого кода могут решаться проблемы перебора адресов и атак, это также отвечает безопасности.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715753
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bachПарамонТеперь экзамен.
Какой статус вернет сервис в случае, когда продукт не найден в базе данных?

вооот. меня тоже это интересует!

404, это ошибка уровня протокола.
и да, протокол HTTP является прикладным, а не уровня приложения, но это уже для чукчей
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715757
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
Content-Length: 320

{
  "Message": "The request is invalid.",
  "ModelState": {
    "item": [
      "Required property 'Name' not found in JSON. Path '', line 1, position 14."
    ],
    "item.Name": [
      "The Name field is required."
    ],
    "item.Price": [
      "The field Price must be between 0 and 999." // внимание!
    ]
  }
}



Выделенное приводит к ошибке 400.

Валидация, которая говорит о том, что приложение ПРИНЯЛО запрос, ОБРАБОТАЛО и ПОНЯЛО, но ДАННЫХ (которые именно бизнес-данные) что-то не так. В случае валидации это совершенно нормальный запрос, ответом на него должно быть 200.

Так как в случае валидации запрос НОРМАЛЬНЫЙ, а не ПЛОХОЙ. Просто вы пипец ребята не дружите с логикой. И в очередной раз подтверждаете, что у вас в голове каша и мрак.


ПарамонЦена может быть в интервале от 0 до 999.
И так, кто это решает? Это решает бизнес!
Что это значит? Значит, что это чисто бизнес правило ! В другом бизнесе цена может быть от 10 до 3000.
Тут протокол никаким боком не завязан, а просто, так решил продавец пылесоса.
И завра он может это правило изменить, и менять его хоть каждый день.

Ты вообще учавствовал в разработке коммерческих API, или только сам себе на страничку данные слал?

Да, участвовал и участвую. Проекты федерального уровня, команды несколько десятков человек с разными департаментами и уровнями, которые участвуют в проектах. С экосистемой из нескольких десятков рабочих проектов, служб и сервисов.

Поэтому я основываюсь не только на логике, RFC, но и на опыте взаимодействия.
Можешь конечно не верить, я не против.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715760
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttВ ASP.NET ошибка 500 приводит в том числе по неотловленному эксепшену. т.е. это явная ошибка программистов ПО. Вы это тестируете? Предсказываете все ошибки?
Если тестировение выявило ошибку 500, она должна быть исправленна в короткий срок, в отличае от той же 501, которая может ждать, а может вообще так и остатся.
Что здесь сложно понять?
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715762
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttВыделенное приводит к ошибке 400.

Про цену вообщето писал, или ты разделишь на два ответа, один 200, другой 400?

hVosttМожешь конечно не верить, я не против.
Ага.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39715768
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонЕсли тестировение выявило ошибку 500, она должна быть исправленна в короткий срок, в отличае от той же 501, которая может ждать, а может вообще так и остатся.
Что здесь сложно понять?

Ты не прав. 501 ошибку возвращать нормально. Но если приложение клиента делает обращения к таким методам, т.е. ошибка регистрируется, значит она должна быть исправлена в короткий срок на стороне приложения.

Обычно такая ошибка используется в процессе разработки и не доходит до прода. И это удобно, так как не нужно знать подробностей реализации и формат сообщений, чтобы понять, что такой URL обрабатывается, но не реализован.
...
Рейтинг: 0 / 0
25 сообщений из 370, страница 10 из 15
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]