Где я должен хранить внешние клиентские DTO моего микросервиса? - PullRequest
0 голосов
/ 04 октября 2019

У меня есть сомнения относительно архитектуры приложения, над которым я работаю. Он построен следующим образом:

module-app
module-domain
module-rest
module-rest-api
module-rest-client

В module-rest-api я храню DTO s моих контроллеров. Но теперь мне нужно добавить другие DTO s для вызова внешнего клиента.

Таким образом, вопрос в том, где я должен реализовать эти внешние DTO, в module-rest-api или внутри external client package вmodule-app?

Буду признателен за помощь, спасибо.

1 Ответ

1 голос
/ 04 октября 2019

Здесь нет одного ответа, потому что то, куда вы помещаете эти DTO, очень зависит от личных предпочтений.

Например, у вас может быть module-dto. В модуле-dto вы можете иметь несколько пакетов и делить их по назначению, например,

com.mycompany.project.dto.outbound.   //for external requests
com.mycompany.project.dto.inbound.    //for incoming api requests

Таким образом, вы можете просто импортировать ваш модуль dto куда угодно. Я всегда утверждал, что мой DTO является автономным модулем по той же причине, по которой я могу использовать его тогда и из любого места.

...