文章詳情頁
java - 微服務架構中類的設計以及restful返回json數據
瀏覽:77日期:2023-10-28 13:07:42
問題描述
問題1: 在spring boot 實現的微服務架構中,各個服務之間的數據交互問題 說明
比如在服務架構中兩個服務之間的交互,服務A中有一個數據model,服務B調用后,服務A 將此類型的模型返回給服務B ,服務B中就必須也定義一個這樣的數據模型才能正確的接收數據這樣會造成類的多次定義?
問題2:在spring中使用restful返回客戶端數據時,會進行模型轉json操作,但是對象中定義了很多屬性,而客戶端只需要其中部分屬性對應的值,那么如何在返回客戶端之前將其中不需要的或者無值的屬性剔除?
問題解答
回答1:答1:RPC通信的數據傳輸格式常用的有 json、xml 或 自定義的二進制格式,一般都會事先約定好。既然都是不同的服務,一般都是不同的團隊來維護的。再說解析接收對象的類不一定要完全與輸出對象一致。
答2:一種做法是輸出對象定義必要屬性,將你的中間對象轉換成最終要輸出的對象,去除多余屬性?;蛘咴趯ο筠Djson的時候剔除多余屬性,spring 中提供了 @JsonIgnore 注解,對 bean 的多余屬性添加該注解后,轉換json對象時,就會忽略該屬性。
回答2:Q1: bean可以定義在一個獨立的module中, 服務A和服務B都依賴這個module即可。
Q2: json注解忽略或者采用dto的方式,只獲取需要的屬性。
標簽:
java
相關文章:
1. Python處理Dict生成json2. macOS Sierra 10.12 安裝mysql 5.7.1出現錯誤3. 網頁爬蟲 - python爬蟲用BeautifulSoup爬取<s>元素并寫入字典,但某些div下沒有這一元素,導致自動寫入下一條,如何解決?4. php - 生產環境下,給MySQL添加索引,修改表結構操作,如何才能讓線上業務不受影響?5. mysql - 拖拽重排序后怎么插入數據庫?6. mysql 獲取時間函數unix_timestamp 問題?7. javascript - 微信小程序 wx.downloadFile下載文件大小有限制嗎8. 新入手layuiadmin,部署到tp中。想用php自已寫一個后臺管理系統。9. javascript - 天貓首頁首屏數據來源10. 網頁爬蟲 - python+smtp發送郵件附件問題
排行榜
