在Internet传输层中使用RPC,使用dto是合理的。 Http控制器?如果前端使用所有控制器,参数定义为VO?
我想你在问其他控制器方法的参数是否可以是DTO。
那么它将取决于您使用的框架。 http参数是字符串。
如果框架有一个实用程序机制(可能是一个注释),它允许你将你收到的http参数映射到你提供的作为其余控制器方法arg的DTO,那么作为DTO的arg就没有问题。
如果框架没有这样的实用程序(它只是将每个http参数映射到其余控制器方法的字符串arg),那么你必须在其余的控制器方法中手动构建DTO。
我不知道Spring是否有类似于@PathVariable的实用程序注释,而是将多个请求参数收集到DTO对象中。
更新:
Spring @RequestBody注释将JSON反序列化为其余控制器方法的java对象参数。因此,使用@RequestBody注释的arg是DTO。
DDD没有说明哪种类型必须是休息api的参数。它们既可以是DTO也可以是字符串,无关紧要。如果他们在哪里,你必须自己构建DTO。使用@RequestBody,Spring框架为您完成。
在java中,进程之间的对象以camel case表示法命名,并具有DTO
后缀。例如ServiceMessageDTO
DTO代表数据传输对象。
这也适用于来自其余webmethods的请求体参数。