最简单的方法是适当设置控制器方法:
@RequestMapping(value = "/users/{user}", method = RequestMethod.PATCH)public … updateUser(@ModelAttribute User user) { … }根据参考文档,当调用此方法时,将发生以下步骤:
User
需要获得一个实例。基本上,这要求Converter
从String
toUser
要在Spring MVC中注册,才能将从URI模板提取的路径段转换为User
。例如,如果您正在使用Spring Data并按照其参考文档中的说明启用其Web支持,则可以立即使用。- 获取现有实例后,请求数据将绑定到现有对象。
- 绑定的对象将被传递到方法中。
其他提示
- 不要
GET
用作更新的HTTP方法。GET
被定义为安全操作(无副作用),而更新则不是。PATCH
是正确的方法,因为它已定义为允许对现有资源进行部分更新。 - 要将表单数据提交到
PUT
并PATCH
请求,您需要HttpPutFormContentFilter
按此处所述在应用程序中注册。我向Spring Boot提出了一个问题,默认情况下要注册它。



