Я хочу реализовать службу отдыха, которая принимает объект и возвращает, если объект имеет право на обработку с определенными параметрами. Проблема в том, что в зависимости от того, подходит ли объект или нет, структура ответа очень различна.. В качестве примера, если объект должен быть обработан, он связан с типом обработки и приоритетом. Когда это не подходит, причина для этого возвращается. Какой из самый чистый способ возврата различных структур для одного и того же запроса. Есть три варианта, о которых я мог бы подумать, но не стесняйтесь добавлять дополнительные опции.Самый чистый способ возврата различных структур для одного и того же запроса
Вариант А:
Возврат данных в виде конверта, содержащие в поле, которое структурированные
{
"eligible": bool,
"data": {
// Data depending on whether elbile or not
}
}
Вариант B:
Используйте другой код и структура состояния HTTP, JSON, соответственно. Это как-то нечисто, потому что это не ошибка в запросе, а действительный ответ.
Вариант C:
Используйте разные поля для отправки данных в случае допустимого или нет и пусть одно поле будет нулевым.
{
"eligible": bool,
"dataEligible": {
"processingType": "",
"priority": 0
}
"dataNonEligible": {
"reason": "",
}
}
Спасибо за ответ. Я считал, что 422 также исправлю меня, если я ошибаюсь. но разве это не означает, что запрос на отправку имеет семантические ошибки? – PKuhn
Нет, 422 без ошибок, но сервер по-прежнему не может обработать его по какой-либо причине, неизвестной клиенту – libik