I'm +1 for the change :) And I propose to check the current REST API to be clearer for ex. right now we have `JSON.stringify` [1] in some places, and NOT in some others I would completely get rid of it :(
this particular change is small and will affect 1-2 lines of code in Moodle plugin :) [1] https://openmeetings.apache.org/RestAPISample.html On Wed, 22 Sept 2021 at 06:11, [email protected] <[email protected]> wrote: > It is broken. The problem is the fix will be a breaking change that will > require 3rd party integration code to be fixed. Not a big fix, but a fix. > Eg the Moodle Plugin requires some minor changes. > > The workaround is to write some additional wrapper code to make it > backwards compatible. Which is also a bit confusing. > > I also don't understand quite if you answer is pro or contra changing the > response. > > So is your statement: > A) Yes, lets fix it to align our JSON response with what the schema/method > signature says. We don't like wrapper objects. And I am happy that people > have to change their integration code to use newer versions of OpenMeetings. > B) No, lets leave it like this for now and we do whatever other additional > code we need to write to workaround so that our documentation and schema > matches what the actual API responses look like > > If you could please clarify if you are A, B. Or if you don't mind either > way/no strong opinion :) > > Thanks > Seb > > > Sebastian Wagner > Director Arrakeen Solutions, OM-Hosting.com > http://arrakeen-solutions.co.nz/ > 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> > > > On Wed, 22 Sept 2021 at 10:59, Ali Alhaidary <[email protected]> > wrote: > >> Hi, >> >> We have an old saying 'If it is not broken, do not fix it' ;-) >> >> Ali >> On 9/22/21 12:46 AM, [email protected] wrote: >> >> Hi, >> >> as discussed in the comments section in >> 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 >> ) >> >> 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 >> >> *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/ >> 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> >> >> -- Best regards, Maxim
