【发布时间】:2020-07-01 07:46:29
【问题描述】:
我是 Java 新手,并试图了解 MVC 架构的发展方式。 如果我在浪费你的时间,请原谅我。我写了一个 DAO 服务,它处理 crud 模型(获取、读取、更新、删除)。
public List<User> getUsers();
public User getUser(Long userId);
public void createUser(User user);
public void updateUser(User user);
public void delete(Long userId);
}
这是我的抽象 DAO 函数。
@Override
@Transactional
public void updateUser(User user) {
em.merge(user);
}
和控制器:
@PutMapping(value = "/{userId}", produces = "application/json")
public ResponseEntity<UserDTO> update(@PathVariable Long userId, @RequestBody UserDTO user){
try{
service.updateUser(user);
return new ResponseEntity<>(HttpStatus.OK);
} catch (HttpClientErrorException p){
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
} catch (HttpServerErrorException.InternalServerError u){
return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
}
}
在服务中:
@Override
public void updateUser(UserDTO user) {
userDAO.updateUser(ApiDTOBuilder.userDTOToUser(user));
}
如何传递 userId 并将新参数设置到当前用户对象中?
【问题讨论】: