Internet傳輸層的RPC,使用dto是合理的。Http控制器?如果前端使用所有控制器,參數定義為VO?
2 回答

Cats萌萌
TA貢獻1805條經驗 獲得超9個贊
我猜您是在問 rest 控制器方法的參數是否可以是 DTO。
那么這將取決于您使用的框架。http 參數是字符串。
如果框架具有實用程序機制(可能是注釋),可以讓您將收到的 http 參數映射到作為其余控制器方法 arg 提供的 DTO,則 arg 作為 DTO 沒有問題。
如果框架沒有這樣的實用程序(它只是將每個 http 參數映射到 rest 控制器方法的字符串 arg 中),那么您必須在 rest 控制器方法中手動構建 DTO。
我不知道 Spring 是否有這樣一個類似于 @PathVariable 的實用程序注釋,但用于將多個請求參數收集到 DTO 對象中。
更新:
Spring @RequestBody 注釋將 JSON 反序列化為 rest 控制器方法的 java 對象參數。所以,用@RequestBody 注釋的 arg 是一個 DTO。
DDD 沒有說明哪種類型必須是 rest api 的參數。它們可以是 DTO 或字符串,沒關系。如果它們是字符串,則必須自己構建 DTO。使用@RequestBody,Spring 框架會為您完成。

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
在java中,進程間攜帶的對象以駝峰命名法命名并帶有DTO
后綴。例如ServiceMessageDTO
DTO 代表數據傳輸對象。
這也適用于來自其余 webmethods 的請求正文參數。
添加回答
舉報
0/150
提交
取消