你可以参考这个关于 PATCH vs PUT 的问题。假设您只是在更改用户的在线状态。在这种情况下,最好使用 PATCH 并将更改反映在路径变量上。例如:@PatchMapping("user/{id}/{status}")public boolean setStatus(@PathVariable id, @PathVariable status) { User currentUser = userRepo.findOne(id); currentUser.setStatus(status); userRepo.save(currentUser); // ...}如果打算对未定义数量的字段进行更改,您可以使用 PUT,在请求正文中包含数据并使用 DTO 模式。你可以在网上找到很多关于 DTO 模式的例子。在这种情况下,代码如下。@PatchMapping("user/{id}")public boolean updateUser(@PathVariable id, @RequestBody UserDTO userDTO) { // UserMapper is the mapper class which returns you a new User // populated with the data provided in the data transfer object. User user = UserMapper.makeUser(userDTO); userRepo.update(id, user); // ...}