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

Reply via email to