Vineet Reynolds created FORGE-1060:
--------------------------------------
Summary: REST plugin should support creation of DTOs for the underlying JPA
entities of REST resources
Key: FORGE-1060
URL:
https://issues.jboss.org/browse/FORGE-1060
Project: Forge
Issue Type: Feature Request
Components: Builtin Plugins
Reporter: Vineet Reynolds
Assignee: Vineet Reynolds
Priority: Critical
Using JPA entities directly in the REST resources is obviously not proving to be of much
help:
* It leads to problems when working with cyclic dependencies, as seen in FORGE-606. Using
{{@JsonIdentityInfo}} to resolve this has lead to further problems on the client side due
to the lack of support in JavaScript clients to handle JSON object references out of the
box.
* It requires manipulation of the relational associations across entities to modify the
resource representations, thus lacking separation of concerns.
* It provides no control over the depth of the object graph to be serialized. Annotations
like {{@JsonIgnore}} are required to be placed on JPA entities which does not aid in
separation of concerns. Custom serializers/deserializers offer little benefit concerning
standards since they requires compilation against specific versions of the JSON libraries
like Jackson for every container that is to be supported.
Therefore it is proposed to have the REST plugin create DTOs for representing the state of
the JPA entities in the REST resources.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira