我正在使用Spring-sync作为RFC 6902 (JSON Patch)
的实现。客户端向我发送JsonNode
,表示要在服务器对象上应用的操作。
我的代码如下:
@PatchMapping(path = "/profile/{userId}")
public ResponseEntity<Void> patchUserProfile(@PathVariable Integer userId, @RequestBody JsonNode patchJsonNode) {
JsonPatchMaker jsonPatchMaker = new JsonPatchMaker();
Patch patch = jsonPatchMaker.fromJsonNode(patchJsonNode);
UserProfileDto originalUserProfileDto = ...
UserProfileDto patchedUser = patch.apply(originalUserProfileDto, UserProfileDto.class);
userService.save(patchedUser);
return ResponseEntity.status(HttpStatus.OK).body(null);
}
我有一个意想不到的Java ClassCastException
告诉我该对象无法转换为同一类型!!这怎么可能?
在堆栈跟踪下方:
java.lang.ClassCastException: com.roufid.api.dto.user.UserProfileDto cannot be cast to com.roufid.api.dto.user.UserProfileDto
classloader
加载,Serializable
。我正在使用: