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

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

не проигнорирую. раз уж сказали А, говорите Б:
- что такое "чистые CRUD операции"?
- почему API для "чистых CRUD операций" в контексте темы топика как-то принципиально отличается?

Это вопросы для темы "Программирование".
К ASP.NET (и к кодам ошибок) непосредственного отношения не имеют.
CRUD операции - это устоявшийся термин. Вы же не просите объяснить, что такое ASP или .NET?
Одно дело, когда Вас интересует неочевидный момент, другое дело - если Вы не знаете базовых вещей (в рамках этой темы, это не обвинение в невежестве вообще).
Какой смысл читать лекции?
Если же вопрос относился к слову "чистый", то тоже странно, что это непонятно.
Словосочетания "написано на чистом C#(или С, или ассемблере)" тоже вызывают вопросы?
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39713242
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Addxlove_bachпропущено...


не проигнорирую. раз уж сказали А, говорите Б:
- что такое "чистые CRUD операции"?
- почему API для "чистых CRUD операций" в контексте темы топика как-то принципиально отличается?

Это вопросы для темы "Программирование".
К ASP.NET (и к кодам ошибок) непосредственного отношения не имеют.
CRUD операции - это устоявшийся термин. Вы же не просите объяснить, что такое ASP или .NET?
Одно дело, когда Вас интересует неочевидный момент, другое дело - если Вы не знаете базовых вещей (в рамках этой темы, это не обвинение в невежестве вообще).
Какой смысл читать лекции?
Если же вопрос относился к слову "чистый", то тоже странно, что это непонятно.
Словосочетания "написано на чистом C#(или С, или ассемблере)" тоже вызывают вопросы?

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

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

Зачем задавать вопросы, если не хотите, чтобы на них отвечали ?
Я изначально предложил Вам проигнорировать свой ответ, но Вы начали задавать вопросы.
Я дал Вам советы, и не моя вина, что Вам они не понравились.

ответы в стиле Petro123 меня не интересуют. они повышают энтропию вселенной и больше они ни на что не годятся.
а вам задано 2 конкретных вопроса. возможно, ответ на них будет для меня интересен
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39713292
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
monstrUкартина на форуме повторяется
1. задают вопрос
2. дают свой вариант ответа
поступает гневный пост "#всехерня #такнельзя #вывседураки"

просят дай твой вариант ответа - пишут иди в гугл.

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

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

имхо достаточно ответов, чтобы попробовать
как начнёте писать код, так всё и сложится

да я уже давно попробовал. просто некоторые сомнения возникали
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39713940
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttmonstrU
Код: javascript
1.
HTTP/1.1 400 Bad Request



бэд реквест относится только к ошибкам уровня протокола, но не данных

смотрю, бардак в головах достигает эпических размеров.

печаль, печаль, печаль....
Букварь почитай Exception Handling in ASP.NET Web API
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39713944
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонБукварь почитай Exception Handling in ASP.NET Web API

И в чём противоречие?

Если ты принимаешь число, а тебе присылают строку -- это бед реквест.
Или ты ожидаешь поле Name, а в запросе его нет, то это тоже бед реквест.
Это нарушение контракта.

А если тебе присылают правильно оформленное имя пользователя при регистрации, но оно уже зарезервировано, то это не бед реквест.

Поэтому, читать буквари -- это гуд.
Но пожалуйста, читайте НЕ ТОЛЬКО буквари, но и пользуйтесь той штукой, которая находится внутри головы.
Очень советую.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39713956
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПарамонБукварь почитай Exception Handling in ASP.NET Web API

И в чём противоречие?

Если ты принимаешь число, а тебе присылают строку -- это бед реквест.
Или ты ожидаешь поле Name, а в запросе его нет, то это тоже бед реквест.
Это нарушение контракта.

А если тебе присылают правильно оформленное имя пользователя при регистрации, но оно уже зарезервировано, то это не бед реквест.

Поэтому, читать буквари -- это гуд.
Но пожалуйста, читайте НЕ ТОЛЬКО буквари, но и пользуйтесь той штукой, которая находится внутри головы.
Очень советую.
Что то не заметно, что ты эту штуку используешь в последнее время. То что сущность не найдена в базе, это ошибка протокола или адрес плохой ага? А статус 404 в букваре не смущает? А то, что для JSON все строки, а не числа и только приложение решает ошибка это или нет, удивительно да? ))
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39713958
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttА если тебе присылают правильно оформленное имя пользователя при регистрации, но оно уже зарезервировано, то это не бед реквест.
Кроме бед реквест есть ещё статусы, 409 как вариант. Ты почитай на досуге.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39714170
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

Опять не вижу противоречий.

409 напрямую связан с ресурсом, на который указывает URL

если твой PUT будет возвращать 409 в ответ на конфликт, связанный с каким-нибудь ID, указанным внутри JSON, ты очевидно делаешь фигню.

404 не смущает, так как это связано с URL, это также отвечает критериям безопасности.

ситуаций самых разных в ПО может быть тысячи, а кодов HTTP ошибок у тебя десяток.
вот это тебя не смущает?

приложение решает ошибка это или нет, но уровень принятия решения -- это большая разница.
давай ещё бизнес-модуль будет думать о том, с каким кодом вернуть ответ клиенту, не?

говнокодить так говнокодить, не нужно стесняться.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39714200
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttесли твой PUT будет возвращать 409 в ответ на конфликт, связанный с каким-нибудь ID, указанным внутри JSON, ты очевидно делаешь фигню
Ты будешь возвращать 200?

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

Если это ошибка логики, ошибка ввода пользователем (валидация), естественно это будет 200.
С точки зрения выполнения, это не ошибки, а предсказуемое поведение, нормальная ситуация.

ПарамонНа счёт тысяч ошибок. Главное дать клиенту понять, запрос success или fail, на это статусов хватает. Как твоём случае клиент об этом узнает, чтобы стандартно?

Для чего по-твоему, нужны вообще статусы ошибок HTTP?
Почему бы вообще всегда не отдавать 200, а в теле ответа +100500 кодов и полная информация?

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

Если это ошибка логики, ошибка ввода пользователем (валидация), естественно это будет 200.
С точки зрения выполнения, это не ошибки, а предсказуемое поведение, нормальная ситуация.

ПарамонНа счёт тысяч ошибок. Главное дать клиенту понять, запрос success или fail, на это статусов хватает. Как твоём случае клиент об этом узнает, чтобы стандартно?

Для чего по-твоему, нужны вообще статусы ошибок HTTP?
Почему бы вообще всегда не отдавать 200, а в теле ответа +100500 кодов и полная информация?

Подумай.

я вот продолжу обсуждение.

если на ошибку логики ты предлагаешь возвращать 200, и на успешный ответ тоже 200, то тогда будет именно тот случай, когда в теле ответа будет +100500 кодов и полная информация об ответе и о бизнес ошибке.

кстати, было бы проще, если бы на вопрос ты просто давал ответ а не писал новый вопрос, так как непонятно, ты используешь подход - 200 возвращать в случае успешных операций и ошибок логики ?

я некоторое время назад сделал подключение к билетному шлюзу Единое поле . даю ссылку на метод создания заказа.

там как видишь подход реализовали
1. успешный ответ - 200
2. успешный ответ + ошибка бизнес логики - ответ 4хх

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

вот реальный пример успешного запроса сеансов для контрагента с http ответом 200
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
[
	{
		"id": 52,
		"showtime": "2018-10-08T23:59:00.000+03:00",
		"status": "on_sale",
		"performance_id": 12,
		"hall_id": 11,
		"stop_reservation_time": "2018-10-08T23:44:00.000+03:00",
		"stop_long_reservation_time": "2018-10-08T23:44:00.000+03:00",
		"organization_id": 0
	}	
]



и вот реальный пример успешного запроса сеансов для несуществующего контрагента с кодом 404

Код: javascript
1.
2.
3.
4.
5.
6.
{
	"response_status": "error",
	"response_status_human": "Произошла ошибка",
	"error": "404 Not-found",
	"error_human": "Такого метода или ресурса нет. Ссылка на документацию https://demo.edinoepole.ru/api/contractors/docs"
}



то есть как бы прозрачная логика - у тебя есть ответ 200 => ты работаешь со списком сеансов. у тебя ответа не 200, а 4xx => ты работаешь с описанием ошибки.

так лучше. критерий "лучше" тут имеет конкретную характеристику - лучше потому что проще.

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

по моему все споры идут из-за того, что в кодах 2xx или 4xx в Http протоколе нет специально выделенного значения для ошибок бизнес логики.
как-то надо обрабатывать ситуацию, когда успешный ответ в принципе есть, но как то надо оповестить о том, что пытаются использовать несуществующего контрагента.

поскольку с обработкой ответов - тут все-таки соглашение, просто надо выбрать подходящий для вашей системы подход.
ну вообще обсуждаем 2 подхода

1. для успешных операций и ошибок логики возвращать 200. в этом случае в ответе нужно заводит поле, в котором может быть записана возможная ошибка логики
2. для успешных операций нужно возвращать 200, для ошибок логики возвращать один код 4xx. в этом случае в случае успешной операции возвращать данные с ответом, в случае ошибки логики возвращать код ошибки и возможное описание ошибки
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39714304
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Ответ вопросом на вопрос ещё терпимо, но мой вопрос уже содержит ответ, так что это либо очень густой сумрак, либо не желание видеть очевидное.

Да, и почему только 200? 201 на удачный инсерт тоже не используем? ))

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

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

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

hVosttЕсли это ошибка логики, ошибка ввода пользователем (валидация), естественно это будет 200.
С точки зрения выполнения, это не ошибки, а предсказуемое поведение, нормальная ситуация.


если данные нарушают какое-то бизнес-правило, то 40x. потому что это ошибка и не важно ты её ожидал или нет. механизм прокидывания ошибок из кишков бизнес слоя через генерацию ошибок вроде обычный(а там уже Ui как надо выведет если надо вообще) так почему я не могу использовать статусы ошибок http чтоб говорить http клиентам сходу что у меня ошибка и все http клиенты умеют обработать такую ситуацию без дополнительного кода. я видел апи того же яндекса и других контор что на ошибку отвечают 200 и меняли дто в ответе либ делали "суперобъект" с заранее заложенными свойствами полями ошибки, вот только зачем. В чем минус ответа со статусом? чему это противоречит? то что на коды ошибок http вещают свои ошибки? ну и ладно. но почему бы не использовать то что есть. я не вижу где ты нашел кашу в голове, по мне люди идут по пути простоты, а не придумывания велосипедов.
...
Рейтинг: 0 / 0
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
    #39714385
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu я видел апи того же яндекса и других контор что на ошибку отвечают 200 и меняли дто в ответе либ делали "суперобъект" с заранее заложенными свойствами полями ошибки, вот только зачем.

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

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

Весь мир так работает, хочешь оставаться Дартаньяном, пожалуйста )

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

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

Весь мир так работает, хочешь оставаться Дартаньяном, пожалуйста )

А можно про весь мир поподробнее? Пару примеров. Да хотя бы один?

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

У тебя вопрос глупый и расчитан на дурака. Как договорятся клиент с сервером (точнее их разработчики), так и будет "узнавать". А на мой вопрос ты отвечать не стал, так как ответ тебе явно не нравится.

ПарамонДа, и почему только 200? 201 на удачный инсерт тоже не используем? ))

Пошли какие-то странные придирки. 201 используем, но сути это не меняет.

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

Я тебе ещё раз задам свой вопрос. Ситуаций в ПО тысячи. Кодов HTTP у тебя десяток. Что там тебе вдруг внезапно стало "очевидно", можешь поведать деревенщинам?


ПарамонВесь мир так работает, хочешь оставаться Дартаньяном, пожалуйста )

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

Да, но метод работает совсем не так, как Вы пишете.

monstrU2. успешный ответ + ошибка бизнес логики - ответ 4хх


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

С фига ли? Ошибки в мониторе это проблема, которая фиксируется, исследуется и при необходимости устраняется.
А когда пользователи ошибаются с вводом, делают невалидные действия с точки зрения бизнеса, таких ситуаций тысячи и тысячи -- какие же это ошибки? Зачем мне это в статистике работы ПО? Я что админам должне объяснять все 100500 ситуаций?

Вы ребята вообще чем занимались, с каких деревьев слезли )) Ну и мрак....


handmadeFromRuесли данные нарушают какое-то бизнес-правило, то 40x.

Это твои фантазии. Но и не только твои, но и многих. И это довольно распространённая проблема.


handmadeFromRuмеханизм прокидывания ошибок из кишков бизнес слоя через генерацию ошибок вроде обычный

И как твой бизнесовый "механизм" должен в зависимости от ситуации назначить "правильный" код? ))


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

Как раз таки написанное тобой это именно что велосипеды, натуральным образом. Да ещё и с квадратными колёсами. А насчёт "просто", так всегда, у каждого человека свой бред это всегда "просто". Но ни под какие обоснования не ложится.

Просто "так захотелось".

https://developer.mozilla.org/ru/docs/Web/HTTP/Status/400

где тут про бизнес логику? RFC почитайте.

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

Просто "так захотелось".

https://developer.mozilla.org/ru/docs/Web/HTTP/Status/400

где тут про бизнес логику? RFC почитайте.

я уже не прошу головой думать. видимо, это сложно.

Ну как же - там основной вклад AlexeyVasiliev -> Vasiliev -> Vasya -> Вася )))
Да и код 4xxx - видимо не 400, а 418. )))
...
Рейтинг: 0 / 0
25 сообщений из 370, страница 5 из 15
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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