我刚遇到同样的问题。我当前的解决方案如下所示。我还没有做过多的测试,但是经过初步检查,它似乎运行良好。
@Autowired ObjectMapper objectMapper;@Autowired UserRepository userRepository;@RequestMapping(value = "/{id}", method = RequestMethod.POST )public @ResponseBody ResponseEntity<User> update(@PathVariable Long id, HttpServletRequest request) throws IOException{ User user = userRepository.findOne(id); User updatedUser = objectMapper.readerForUpdating(user).readValue(request.getReader()); userRepository.saveAndFlush(updatedUser); return new ResponseEntity<>(updatedUser, HttpStatus.ACCEPTED);}
ObjectMapper是类型为org.prehaus.jackson.map.ObjectMapper的bean。
希望这对某人有帮助,
编辑:
遇到子对象问题。如果子对象接收到要部分更新的属性,它将创建一个新的对象,更新该属性并进行设置。这将擦除该对象上的所有其他属性。如果遇到干净的解决方案,我将进行更新。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)