From 3df60ab5f3fe04efcb2beab941caec3143d5c9e3 Mon Sep 17 00:00:00 2001 From: Jim Ma Date: Thu, 14 Nov 2024 17:12:39 +0800 Subject: [PATCH] [WFLY-13412]:Add_Json_Merge_Patch_support --- ...AP7-1494_Add_Json_Merge_Patch_support.adoc | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 jaxrs/WFLY-13122_EAP7-1494_Add_Json_Merge_Patch_support.adoc diff --git a/jaxrs/WFLY-13122_EAP7-1494_Add_Json_Merge_Patch_support.adoc b/jaxrs/WFLY-13122_EAP7-1494_Add_Json_Merge_Patch_support.adoc new file mode 100644 index 000000000..c1ea23117 --- /dev/null +++ b/jaxrs/WFLY-13122_EAP7-1494_Add_Json_Merge_Patch_support.adoc @@ -0,0 +1,69 @@ += Add Json Merge Patch support +:author: Jim Ma +:email: ema@redhat.com +:toc: left +:icons: font +:keywords: json merge patch,resteasy,jaxrs +:idprefix: +:idseparator: - +:issue-base-url: https://issues.jboss.org/browse + +== Overview +This feature is to support JSON Merge Patch spec as described in: https://tools.ietf.org/html/rfc7386 +With Json merge patch support, the client can send a json http request with Content-Type "application/merge-patch+json", +and the json merge request will be directly apply to the target resource with the merge function as spec described. + +Resteasy provides two implementation for JSON merge patch. One based on jsonp(abbreviation jsonp will be used in this page) and another one is based on +json-patch and jackson2(abbreviation jackson2 will be used in this page). By default, Resteasy uses jsonp implementation, while the jackson2 implementation is only enabled +when the context parameter `resteasy.patchfilter.legacy=true` is set. + +The JSON merge patch functionality in Resteasy can be completely disabled by setting the context parameter `resteasy.patchfilter.disabled=true`. +When this parameter is enabled, any JSON merge patch requests will be ignored. + +== Issue Metadata + +=== Issue + +* {issue-base-url}/EAP7-1494 [EAP7-1494] +* {issue-base-url}/WFLY-13412 [WFLY-13412] + +=== Related Issues + +* {issue-base-url}/RESTEASY-2567 [RESTEASY-2567] + +=== Dev Contacts + +* mailto:ema@redhat.com[Jim Ma] + +=== QE Contacts + +* mailto:jkasik@redhat.com[Jan Kasik] + +=== Testing By + +[ ] Engineering + +[x] QE + +=== Affected Projects or Components + +* RESTEasy, Wildfly + +=== Other Interested Projects +https://tools.ietf.org/html/rfc7386 + +== Requirements + +=== Hard Requirements + +* RESTEasy includes this feature support and is installed in WFLY/EAP +* The PatchMethodFilter is enabled (not explicitly set resteasy.patchfilter.disabled to true) + +== Test Plan + +The feature is tested in RESTEasy codebase. It can be checked with running the latest RESTEasy release +testsuite against target WildFly container. + +== Community Documentation + +The RESTEasy user guide has the section "JSON Patch and JSON Merge Patch" to explain the usage.