Skip to content

Commit

Permalink
[WFLY-13412]:Add_Json_Merge_Patch_support
Browse files Browse the repository at this point in the history
  • Loading branch information
jimma committed Nov 14, 2024
1 parent c3c6ae5 commit 3df60ab
Showing 1 changed file with 69 additions and 0 deletions.
69 changes: 69 additions & 0 deletions jaxrs/WFLY-13122_EAP7-1494_Add_Json_Merge_Patch_support.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
= Add Json Merge Patch support
:author: Jim Ma
:email: [email protected]
: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:[email protected][Jim Ma]

=== QE Contacts

* mailto:[email protected][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.

0 comments on commit 3df60ab

Please sign in to comment.