Существуют ли проблемы при возвращении Map<> в ApiController REST сервиса?
В рабочем процессе мне сказали, что возвращение в качестве ответа веб-приложения Map<> недопустимо и нужно использовать типизированные ДТО. Кто-то может подсказать, почему это так?
public Map<String, UUID> init(String someProperty) {
HashMap<String, UUID> response = new HashMap<>();
response.put("propertyId", doSomething(someProperty));
return response;
}
Ответы (1 шт):
Автор решения: the__Komar
→ Ссылка
Сложно ответить, так как зависит от задачи и бизнес требований :))
Концептуально API это контракт и гарантии что сервер вернет вот такую структуру(DTO) а клиент ее обработает. Так же Map, в вашем примере, не расширяема, то есть если нужно будет добавить какое то еще поле в value, то придется делать либо новое api -> v2 либо UUID менять на ваш объект, либо править клиента.