在我的春季启动服务中,我使用
https://github.com/java-json-tools/json-patch来处理PATCH请求.
一切似乎都没问题,除了一种避免修改不可变字段的方法,比如对象id,creation_time等.我在Github https://github.com/java-json-tools/json-patch/issues/21上找到了类似的question,我找不到合适的例子.
这个blog似乎提供了一些关于使用node.js中的解决方案验证JSON补丁请求的有趣解决方案.很高兴知道JAVA中是否有类似的东西.
解决方法
在许多情况下,您只需修补一个只有用户可以写入的字段的中间对象.之后,您可以使用一些对象映射器或仅手动将中间对象轻松映射到您的实体.
这样做的缺点是,如果您要求字段必须明确为可空,则您不会知道修补程序对象是否将字段显式设置为null或者修补程序中是否存在该字段.