2017-09-19 123 views
0

我正在開發Spring引導服務。Spring引導服務通信

因此,可以說我有2個服務 - A,B。

服務A已經一個API A1()返回的一些類customObject說

class CustomObject{ 
    int id; 
    String name; 
    .... +n more properties 
} 

所以從我的API,我返回對象CustomObject和相應的JSON已從我的API返回(使用@RestController)

現在服務B正在調用此API。所以它調用服務A(使用RestTemplate/Feign客戶端)的A1()api,獲取JSON,現在可以訪問它,我必須在服務B中創建CustomObject以將JSON映射到Object。

這是問題。我不希望我的服務彼此依賴,但是這裏的customObject在兩個服務中都已創建。如果在服務A中對CustomObject進行了任何更改,則需要在服務B中包含相同的更改。

SO應該是什麼更好的解決方案?

回答

0

創建簡單的項目,在那裏收集你的DTO課程。推送給你maven回購(例如nexus)。然後將其添加到每個項目的依賴項中。

0

這裏的格局,我們遵循:

serviceA 
     |_ serviceA-model (CustomObject goes here) 
     |_ serviceA-service 

serviceB 
     |_ serviceB-model 
     |_ serviceB-service 

serviceB項目進口serviceA-model。它幫助我們避免了大量的代碼重複。