Hi,

We have an old saying 'If it is not broken, do not fix it' ;-)

Ali

On 9/22/21 12:46 AM, seba.wag...@gmail.com wrote:
Hi,

as discussed in the comments section in https://github.com/apache/openmeetings/commit/4daf7c1f53738cd786dc976114cc5278b4f05f4f#comments <https://github.com/apache/openmeetings/commit/4daf7c1f53738cd786dc976114cc5278b4f05f4f#comments>

we would like to propose a breaking change for the OpenMeetings Json/Rest API in v7.0.0

Problem: JSON response wrapping
Currently CXF-RS is configured to wrap the JSON response into another object.

Example: Method signature: public List<AppointmentDTO> range(...) { ... } (Example taken from https://github.com/apache/openmeetings/blob/master/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java#L111 <https://github.com/apache/openmeetings/blob/master/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java#L111>)

OLD/CURRENT JSON Response:
{
  "appointmentDTO":
[
  {
     itemXYZ: 123, ...
   }
]
}


Proposed NEW/UPDATED JSON Response:
// no wrapping object around it, just return list
[
  {
     itemXYZ: 123, ...
   }
]

Reasoning: The wrapping "{  "appointmentDTO": ... }" should be dropped from the json response body. "appointmentDTO" is generated but it is not in any schema definition or method signature. Cause there is nothing in the method signature that would tell anybody where " "appointmentDTO": [" is coming from. Other than by testing the API call and finding out by try and error.

CXF-RS allows configuring our Web Service to NOT generate that wrapping element. And turn this behaviour off and just generate the list.
See "dropRootName" in the CXF docs at:
https://cxf.apache.org/docs/jax-rs-data-bindings.html#JAXRSDataBindings-WrappingandUnwrappingJSONsequences <https://cxf.apache.org/docs/jax-rs-data-bindings.html#JAXRSDataBindings-WrappingandUnwrappingJSONsequences>

*This affects all methods returning a JSON response body (which is pretty much every API Method)*

Please reply to this email if you have concerns, questions or objections.

Thanks!
Seb

Sebastian Wagner
Director Arrakeen Solutions, OM-Hosting.com
http://arrakeen-solutions.co.nz/ <http://arrakeen-solutions.co.nz/>
https://om-hosting.com <https://om-hosting.com> - Cloud & Server Hosting for HTML5 Video-Conferencing OpenMeetings
<https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url><https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url>

Reply via email to