【发布时间】:2017-11-19 01:40:19
【问题描述】:
当我阅读文档时 (https://spring.io/guides/gs/accessing-data-rest/)
PUT 替换整个记录。未提供的字段将被替换 与空。 PATCH 可用于更新项目的子集。
所以,我尝试为我的用户实体使用 PATCH,其中包含 2 个字段(姓名和姓氏)
@RequestMapping(path="/user/{id}", method = RequestMethod.PATCH)
public User updateUser ( User user) {
return userRepository.save(user);
}
当我发送到:
localhost:8080/user/34
带有name: "user" and surname: "testSurname" 的主体效果很好。
但是当我只发送name (without surname) 时,surname 也会更新为 null。
如何防止 Spring Boot 更新具有空值的字段?
【问题讨论】:
-
userRepository.save(department)department是什么?你是说userRepository.save(user)吗? -
您链接到的指南是关于为您提供 RESTful 端点的 Spring Data REST。在您的问题中,您已经编写了自己的端点,由您决定
PATCH的行为方式
标签: spring spring-boot spring-rest