This is an automated email from the ASF dual-hosted git repository.
grv pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-plugins.git
The following commit(s) were added to refs/heads/trunk by this push:
new d2e34eb Improved: Added Consumes for non-GET methods(OFBIZ-11328)
d2e34eb is described below
commit d2e34ebe10ab7c437c41053e6b21325dcdbb4160
Author: Girish Vasmatkar <[email protected]>
AuthorDate: Wed Sep 23 15:55:11 2020 +0530
Improved: Added Consumes for non-GET methods(OFBIZ-11328)
---
.../java/org/apache/ofbiz/ws/rs/core/OFBizApiConfig.java | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git
a/ofbiz-rest-impl/src/main/java/org/apache/ofbiz/ws/rs/core/OFBizApiConfig.java
b/ofbiz-rest-impl/src/main/java/org/apache/ofbiz/ws/rs/core/OFBizApiConfig.java
index b9d02cb..126bd09 100644
---
a/ofbiz-rest-impl/src/main/java/org/apache/ofbiz/ws/rs/core/OFBizApiConfig.java
+++
b/ofbiz-rest-impl/src/main/java/org/apache/ofbiz/ws/rs/core/OFBizApiConfig.java
@@ -26,6 +26,7 @@ import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
+import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.MediaType;
import org.apache.ofbiz.base.component.ComponentConfig;
@@ -105,9 +106,14 @@ public class OFBizApiConfig extends ResourceConfig {
Resource.Builder resourceBuilder =
Resource.builder(modelResource.getPath())
.name(modelResource.getName());
for (ModelOperation op : modelResource.getOperations()) {
+ String verb = op.getVerb().toUpperCase();
+ boolean isOtherThanGet = verb.matches(HttpMethod.POST
+ "|" + HttpMethod.PUT + "|" + HttpMethod.PATCH);
if (UtilValidate.isEmpty(op.getPath())) { // Add the
method to the parent resource
- ResourceMethod.Builder methodBuilder =
resourceBuilder.addMethod(op.getVerb().toUpperCase());
+ ResourceMethod.Builder methodBuilder =
resourceBuilder.addMethod(verb);
methodBuilder.produces(MediaType.APPLICATION_JSON);
+ if (isOtherThanGet) {
+
methodBuilder.consumes(MediaType.APPLICATION_JSON);
+ }
if (op.isAuth()) {
methodBuilder.nameBindings(Secured.class);
}
@@ -115,8 +121,11 @@ public class OFBizApiConfig extends ResourceConfig {
methodBuilder.handledBy(new
ServiceRequestHandler(serviceName));
} else {
Resource.Builder childResourceBuilder =
resourceBuilder.addChildResource(op.getPath());
- ResourceMethod.Builder childResourceMethodBuilder
= childResourceBuilder.addMethod(op.getVerb().toUpperCase());
+ ResourceMethod.Builder childResourceMethodBuilder
= childResourceBuilder.addMethod(verb);
childResourceMethodBuilder.produces(MediaType.APPLICATION_JSON);
+ if (isOtherThanGet) {
+
childResourceMethodBuilder.consumes(MediaType.APPLICATION_JSON);
+ }
if (op.isAuth()) {
childResourceMethodBuilder.nameBindings(Secured.class);
}