You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Smitha N <sm...@gmail.com> on 2018/03/28 12:17:29 UTC
Rest API - Response with list of viewmodels
Hello,
I am trying to use REST API in my Apache ISIS application.
I have an action which on invoke should return a response in this format:
Result extends Dto{
String type;
int code;
List<ViewModel-A> articles;
}
ViewModel-A extends Dto{
String technology;
String supplier;
SortedSet<ViewModel-B> sortedModel;
Address address;
}
This is the response I get:
{
"$$href": "http://localhost:8080/restful/objects/Result/
"code": 0,
"articles": [
{
"$$href": "http://localhost:8080/restful/objects/ViewModel-A/,
"$$title": "ViewModel A",
"$$instanceId": ,
"address": {
"rel": "urn:org.restfulobjects:rels/value",
"href": "http://localhost:8080/restful/objects/Address/",
"method": "GET",
"type": "application/json;profile=\"
urn:org.restfulobjects:repr-types/object\"",
"title": "Address"
},
"supplier": "supplier-name",
"technology": "technology-name"
},
{
"$$href": "http://localhost:8080/restful/objects/ViewModel-A/,
"$$title": "ViewModel A",
"$$instanceId": ,
"address": {
"rel": "urn:org.restfulobjects:rels/value",
"href": "http://localhost:8080/restful/objects/Address/",
"method": "GET",
"type": "application/json;profile=\"
urn:org.restfulobjects:repr-types/object\"",
"title": "Address"
},
"supplier": "supplier-name1",
"technology": "technology-name1"
},
{
"$$href": "http://localhost:8080/restful/objects/ViewModel-A/,
"$$title": "ViewModel A",
"$$instanceId": ,
"address": {
"rel": "urn:org.restfulobjects:rels/value",
"href": "Address",
"method": "GET",
"type": "application/json;profile=\"
urn:org.restfulobjects:repr-types/object\"",
"title": "Address"
},
"supplier": "supplier-name1",
"technology": "technology-name2"
}
],
"type": "type"
}
As it can be seen in the response, even though there are values, the
ViewModel-B, sortedModel property in ViewModel-A class is not shown.
Is there any better way to retrieve the properties of these nested view
models (instead of links to these classes)?
Also I am not sure why the properties of ViewModel-B (sortedModel property
of ViewModel-A) are not populated.
Please let me know how to resolve this issue. How do we get a more
flattened structure of the nested class properties in the response?
I am setting Accept request header as
application/json;profile="urn:org.apache.isis/v1".
When I post this request, I get the response but it doesnot
Regards
Smitha