|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
monstrUя вот продолжу обсуждение. если на ошибку логики ты предлагаешь возвращать 200, и на успешный ответ тоже 200, то тогда будет именно тот случай, когда в теле ответа будет +100500 кодов и полная информация об ответе и о бизнес ошибке. кстати, было бы проще, если бы на вопрос ты просто давал ответ а не писал новый вопрос, так как непонятно, ты используешь подход - 200 возвращать в случае успешных операций и ошибок логики ? давай говорить 2xx, а то это повод цепануться ) я уже сказал про ошибки уровня протокола. протокол это URL, формат данных, заголовки. а ошибки логики, это неправильные действия пользователя. именно действия, а не когда он лезет в URL и меняет что-то там от балды. или какой-то кривой клиент отправляет неправильные данные, или приложение клиента реализовано криво. или нет авторизации, это уровень протокола (URL => нет доступа). по мне, тут всё понятно и очевидно. от чего такое бурление и непонимание возникает -- не понимаю. вообще не понимаю. что за мрак. monstrUпо моему все споры идут из-за того, что в кодах 2xx или 4xx в Http протоколе нет специально выделенного значения для ошибок бизнес логики. оооо... так ещё нет специально выделенных значений для +100500 различных ситуаций, как хороших, средней паршивости, и совсем плохих. давайте придумаем свои коды. 444 - так себе ошибка, не критичная, ну бывает 555 - ооо, это уже серьезно 666 - ваще капец, алярм! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 14:24 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
hVosttПошли какие-то странные придирки. 201 используем, но сути это не меняет. Очень даже меняет, 201 это логика протокола такая да, или адрес удачный? И почему там 200 не хватило вдруг? hVosttРезюме похоже на слив. AddxА можно про весь мир поподробнее? Пару примеров. Да хотя бы один? Казалось бы, что может быть проще, чем поискать самому. HTTP response code for POST when resource already exists Which HTTP response code for “This email is already registered”? Там один внизу списка, даже пытался высказать мнение похожее на ваше, но он пехапешник, что с него взять. )) Теперь мне накидайте подтверждение вашего бестпрактиса. И хвост покажи если можно твой json респонс, порадуй а? Какое ты там поле придумал для статуса ошибки? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 14:28 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
Парамон, Ну так как ты в очередной раз проигнорил мой вопрос. Сослался на какие-то тёрки на стеке Проигнорил RFC. Ну действительно. Что с тебя взять? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 14:32 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
ПарамонКакое ты там поле придумал для статуса ошибки? )) Никакого я поля не придумывал. Зачем? У нас всё серьёзно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 14:33 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
ПарамонОчень даже меняет, 201 это логика протокола такая да, или адрес удачный? И почему там 200 не хватило вдруг? 201 это не просто код ответа, там ещё заголовок есть, это уровень протокола, так как возвращается URL созданного ресурса. Если ты под это какой-то своё больное воображение подгоняешь, та ради бога. Я не против. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 14:35 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
hVosttдавайте придумаем свои коды. 444 - так себе ошибка, не критичная, ну бывает 555 - ооо, это уже серьезно 666 - ваще капец, алярм! Все уже придумали, нужно просто пытаться включить моск и почитать доку. авторAll HTTP response status codes are separated into five classes (or categories). 1xx (Informational): The request was received, continuing process 2xx (Successful): The request was successfully received, understood, and accepted 3xx (Redirection): Further action needs to be taken in order to complete the request 4xx (Client Error): The request contains bad syntax or cannot be fulfilled 5xx (Server Error): The server failed to fulfill an apparently valid request Этого хватает на все твои фантазии с головой. Это стандартный подход. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 14:36 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
hVosttСослался на какие-то тёрки на стеке Какие терки? Там задан прямой и недвусмысленный вопрос новичка, такой же как и твой. И дан простой ответ, который все единогласно поддержали. Уже тыкаю в непервую ссылку, бесполезно походу. ( hVosttНикакого я поля не придумывал. Зачем? У нас всё серьёзно. Пример и ссылки будут? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 14:50 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
hVosttЯ тебе ещё раз задам свой вопрос. Ситуаций в ПО тысячи. Кодов HTTP у тебя десяток. Что там тебе вдруг внезапно стало "очевидно", можешь поведать деревенщинам? Смотри пост выше ) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 14:51 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
ПарамонВсе уже придумали, нужно просто пытаться включить моск и почитать доку. Ну так почитай. Кинь RFC. ПарамонЭтого хватает на все твои фантазии с головой. Это стандартный подход. Вот я и смотрю, что у вас одни фантазии. И вообще не пойму, с чем вы спорите )) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:15 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
hVosttПроигнорил RFC Там чел как раз тыкает в тот же RFC. What http status code should the Web API return for a business rule failure? Явный намек на то, что статус 200 с ошибкой это тяжелая клиника ) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:19 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
ПарамонКакие терки? Там задан прямой и недвусмысленный вопрос новичка, такой же как и твой. И дан простой ответ, который все единогласно поддержали. Ну что ты доказать-то хочешь? Вы даже претензию сформулировать не можете, о чём вообще говорить? Давай по твоим ссылкам Парамон HTTP response code for POST when resource already exists Ошибка по протоколу, применения кода 409 уместно, так как создание ресурса по URL вызывает конфликт. The 409 (Conflict) status code indicates that the request could not be completed due to a conflict with the current state of the target resource . This code is used in situations where the user might be able to resolve the conflict and resubmit the request. The server SHOULD generate a payload that includes enough information for a user to recognize the source of the conflict. Conflicts are most likely to occur in response to a PUT request. For example, if versioning were being used and the representation being PUT included changes to a resource that conflict with those made by an earlier (third-party) request, the origin server might use a 409 response to indicate that it can't complete the request. In this case, the response representation would likely contain information Если вы не в состоянии работать с документацией, даю ещё одну цитату из RFC The target of an HTTP request is called a "resource". HTTP does not limit the nature of a resource; it merely defines an interface that might be used to interact with resources. Each resource is identified by a Uniform Resource Identifier (URI), as described in Section 2.7 of [RFC7230]. И что ты хотел доказать? Ты просто услышал звон, да захотел свои неуместные 5 копеек вставить? Слабо кинуть ссыль на RFC? Конечно слабо, лучше загуглить какую-то фигню. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:21 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
ПарамонЯвный намек на то, что статус 200 с ошибкой это тяжелая клиника ) Нет, это клиника у людей с больной фантазией. И которые не понимают для чего нужны эти коды. В общем, мрак. Давай на примитивном языке? Я тебе говорю, ДАЙ МНЕ ЯБЛОК. Ты отвечаешь У МЕНЯ НЕТ ЯБЛОК (200, так как ты меня понял, но яблок у тебя нет). Когда я тебе говорю, ВЫПАК№ЦКаЫа32, ты говоришь Я ТЕБЯ НЕ ПОНИМАЮ. Реал, мне уже страшно становится. Вы что серьёзно вот этот вот, гоните, не знаете и не понимаете HTTP? Мрааааак. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:28 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
The 400 (Bad Request) status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). Ошибки логики приложения. Бизнес-логики. Тут явно об этом сказано, да? Фантазёры блеать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:31 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
hVosttНу что ты доказать-то хочешь? Вы даже претензию сформулировать не можете, о чём вообще говорить?hVosttИ что ты хотел доказать? Я про вот этот бред, если ты еще не понял. hVosttА если тебе присылают правильно оформленное имя пользователя при регистрации, но оно уже зарезервировано, то это не бед реквест.hVosttЕсли это ошибка логики, ошибка ввода пользователем (валидация), естественно это будет 200. hVosttТы просто услышал звон, да захотел свои неуместные 5 копеек вставить? Слабо кинуть ссыль на RFC? Конечно слабо, лучше загуглить какую-то фигню. Вижу ты включил обратку, пытаясь увести спор в другое русло, но как бы все уже понятно ) И походу смысла своих цитат по RFC ты не осиливаешь, может перевод сложный? Повторю: ПарамонЯвный намек на то, что статус 200 с ошибкой это тяжелая клиника ) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:40 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
Парамон HTTP response code for POST when resource already exists Пользователь Wrikken очень авторитетен для нас. У него же столько лайков! Его мнение на порядок важнее RFC.) И Google c Яндексом в своих API работают по полям в возврате, а не по статусам. Их мнение тоже неинтересно. У них лайков меньше. ))) Если у Вас вся бизнес логика заключается в CRUD операциях, то подход с кодами возврата допустим. (опустим вопросы об архитектуре таких приложений). Там может быть ответ только да/нет, и только одна причина отказа. Соответствие типов запросов (GET, POST, PUT, DELETE) очень строгое. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:48 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
hVostt, Вы все еще надеетесь убедить логикой и отсылками к документации? ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:50 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
hVostt The 400 (Bad Request) status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). Ошибки логики приложения. Бизнес-логики. Тут явно об этом сказано, да? Фантазёры блеать. Да, все фантазеры, а ты Дартаньян. ) Сказно сервер не смог по какой то причине обработать запрос, и мы хотим указать на это клиенту. Тебе дали несколько вариантов проблемы, но не все. Далее мы в состоянии понять, что это любая причина связанная с запросом клиента, по решению сервера, а именно кода там написаного, или ты из танка так и не вылезешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:51 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
ПарамонЯ про вот этот бред, если ты еще не понял. hVosttА если тебе присылают правильно оформленное имя пользователя при регистрации, но оно уже зарезервировано, то это не бед реквест.hVosttЕсли это ошибка логики, ошибка ввода пользователем (валидация), естественно это будет 200. А пояснить ты можешь? Я пояснил, и мои аргументы чёткие и уверенные. Прости, но "там какие-то ребята говорят.. бла-бла", не аргумент. Если у тебя это всё, тогда это твой слив. ПарамонВижу ты включил обратку, пытаясь увести спор в другое русло, но как бы все уже понятно ) И походу смысла своих цитат по RFC ты не осиливаешь, может перевод сложный? Повторю: ПарамонЯвный намек на то, что статус 200 с ошибкой это тяжелая клиника ) Это не ошибка, а нормальное поведение. То, что пользователь может ошибиться при вводе -- это нормальное поведение, абсолютно предсказуемое. Слово "ошибка" здесь в понятии, "ошибка ввода", или "логическая ошибка невозможности операции" и т.д. Ты прав. Клиника. Даже с терминологией проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:52 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
AddxhVostt, Вы все еще надеетесь убедить логикой и отсылками к документации? ))) Мы просто столкнулись с какой-то извращённой формой религии, основанной на фантазиях. Просто Парамон уже так видимо написал, так понял, не подумав. И теперь хочет оправдать свои деяния. Ничего страшного, все ошибаются. Но не все умеют признавать свои ошибки. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:53 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
AddxhVostt, Вы все еще надеетесь убедить логикой и отсылками к документации? ))) Все еще надеемся увидеть от тебя ссылки и примеры с опровержением ) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:53 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
hVosttПросто Парамон уже так видимо написал, так понял, не подумав. И теперь хочет оправдать свои деяния. Не хорошо проецировать на меня свои проблемы ) Респонс то покажешь свой, а? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:55 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
ПарамонДа, все фантазеры, а ты Дартаньян. ) Ну-ну. Я то на RFC опираюсь, а ты на какого-то Васю из стековерфлоу, который в свободной форме трактует RFC и подменяет понятия, как ему хочется. ПарамонСказно сервер не смог по какой то причине обработать запрос, и мы хотим указать на это клиенту. По какой-то, это какой? Это ошибка протокола, или это ожидаемое поведение? Пользователи ошибаются, договоры бывают в состоянии, которые пользователь изменить не может, товар бывает недоступен и не может быть продан, это НОРМАЛЬНО. Это не ошибка. Но вам ХОЧЕТСЯ засунуть весь свой бред в какие-то коды. Ну суйте, я не против. Деревня, она и в Африке деревня.. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:56 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
ПарамонhVosttПросто Парамон уже так видимо написал, так понял, не подумав. И теперь хочет оправдать свои деяния. Не хорошо проецировать на меня свои проблемы ) Респонс то покажешь свой, а? Пример давай. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:56 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
AddxУ него же столько лайков! Будешь судить других, когда заработаешь хотябы один ) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:57 |
|
Какой-то стандартный подход для возврата на клиент ошибок/сообщений об ошибках ?
|
|||
---|---|---|---|
#18+
hVosttПарамонпропущено... Не хорошо проецировать на меня свои проблемы ) Респонс то покажешь свой, а? Пример давай. Вот: hVosttА если тебе присылают правильно оформленное имя пользователя при регистрации, но оно уже зарезервировано ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2018, 15:58 |
|
|
start [/forum/topic.php?fid=18&msg=39714486&tid=1355117]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 183ms |
0 / 0 |