LINUX.ORG.RU

как обрабатывать несколько запросов с 1 кодом ответа?

 ,


1

1

Есть api метод, в нем к примеру есть 2 эксепшна с возвратом 202 ответа, либо 2 ответа с 200м, так вот как правильно обрабатывать такие ситуации? В плане документации к примеру?

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

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

можно пример? что бы я понимал конкретно. Ты имеешь ввиду обработать все до возврата ответа так, что бы получился 1 ответ всегда? [br] Для понимания я имел ввиду отправку 1 запроса и вероятность получения 1 из 2х ошибок/ответов

noname_user ★★★
() автор топика
Последнее исправление: noname_user (всего исправлений: 1)
Ответ на: комментарий от noname_user

по хттп как обычно и как было запрос-ответ + валидация запроса на бекенде + проверка статуса ответа на клиенте, в том числе кодов и заголовков.

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

не надо в хттп совать то, что в него не влезает.

deep-purple ★★★★★
()
Ответ на: комментарий от noname_user

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

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Но имей ввиду, что HTTP-коды не всегда хорошо ложатся на логику API. Например, 204, где ответ должен быть пустым. Тогда, клиент должен уметь обрабатывать и тот и другой код, меняя поведение соответственно первому.

С другой стороны, если апи простое, то может хватить только HTTP-кодов, и так будет проще, что на сервере, что на клиенте. Особенно, если клиенту не нужны конкретные подробности при исключительных ситуациях.

Как альтернатива — чистое JSON API, где и параметры запроса и ответ всегда 200 строго в json с кодом внутри.

Смотри по задаче и посоветуйся с разработчиком клиента.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от Jopich1

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

noname_user ★★★
() автор топика
Ответ на: комментарий от WitcherGeralt

понял, скорее буду описывать тогда 200 ответы с разным json’ом в penapi

хотя некоторые api фреймы возвращают по дефолту 422 ошибка валидации (fastapi+pydantic)

noname_user ★★★
() автор топика
Последнее исправление: noname_user (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.