【发布时间】:2020-04-24 22:21:05
【问题描述】:
我对 Spring REST Api 非常陌生。几个疑问:
疑点1:
class UserDTO {
long id;
String name;
int age;
// getters and setters
}
案例1:
public void doSomethng(@RequestBody UserDTO userDTO){
repository.findById(userDTO.getId());
}
案例2:
public void doSomethng(@RequestBody long id){ //Is this correct?
repository.findById(id);
}
案例3:
public void doSomethng(@RequestBody Map<Long, Object> map){ //Is this correct?
repository.findById(map.get("id"));
}
我实际上只需要为 POST 请求传递“id”。
那么,在以上 3 种情况中,哪一种是好的做法?对我来说,long id 似乎是合理的。我不明白,在什么情况下将 Map 作为 RequestBody 比 DTO 好得多?
疑点2:
我目前正在使用 DTO 作为双向。 那么,对 DTO 使用双向是正确的吗?我会面临以下 DTO 设计的任何问题吗?
class UserDTO {
long id;
List<OrderDTO> orders;
}
class OrderDTO {
long orderId;
UserDTO userDTO;
}
【问题讨论】:
-
仍在寻找答案..
标签: spring spring-boot rest spring-mvc oop