Этот вопрос больше касается архитектуры, а не кода. Мне было любопытно, как управляются коды ответов в корпоративных и других крупных проектах.
Techstack :
В любом веб-приложении на основе REST нам нужны какие-то специальные коды ответов. Эти коды отличаются от наших кодов ответов HTTP.
USE-CASE : Предположим, у нас есть API для создания записи о продукте в базе данных. Теперь, в зависимости от какой-то бизнес-логики c, я хочу вернуть собственный код ответа, например 2001, 2002 (или что-то еще). Код ответа HTTP всегда будет 200, но мой собственный код ответа может быть другим. Эти пользовательские коды могут потребоваться для клиентского приложения, чтобы определить, что делать дальше.
Обычно я видел, как люди создавали Список словарей что-то еще, например:
codes = {"PRODUCT_CREATE_SUCCESS": 2002, "PRODUCT_CREATE_FAIL": 2005, ......}
и то же идет с ответными сообщениями
messages = {"PRODUCT_CREATE_SUCCESS": "Product created successfully", "PRODUCT_CREATE_FAIL": "Product already exist"}
Поэтому всякий раз, когда они хотят вернуть эти коды и сообщения, они просто делают
{"code": codes['PRODUCT_CREATE_SUCCESS'], "message": messages['PRODUCT_CREATE_SUCCESS']}
Я знаю, что вышеуказанный подход достаточен для небольших приложений, но это может быть проблематично c для больших. Ответ может быть субъективным. Хотя я не хочу вводить go в кодировку, но мы можем, если потребуется.