Hi, with SmartGwt 5, I can't find the correct JSON format return need by my ListGrid and her RestDataSource (only in case of multiple "add" in same operation/transaction).
The doc, explain a bad return, but I search one JSON correct response...
Previously i use correctly a XML datasource, but i didn't find the equivalent with JSON.
With XML correctly working, the result need to be :
But, with JSON, after differents tests, is not working something like :
It's a classic RestDataSource JSON.
Can you give me and to the documentation a working sample of JSON response with two operations in same transaction ?
For example, the client call :
Edit and SOLVED (reading this SmartGwt post):
The reply must be :
but you need use :
or configure servlet JSON return by adding default json*fix used by client.
The doc, explain a bad return, but I search one JSON correct response...
Previously i use correctly a XML datasource, but i didn't find the equivalent with JSON.
With XML correctly working, the result need to be :
Code:
<?xml version="1.0" encoding="UTF-8"?>
<responses>
<response>
<data>
<record>
...
</record>
</data>
</response>
<response>
<data>
<record>
...
</record>
</data>
</response>
<status>0</status>
</responses>Code:
{
"responses": {
"status": 0,
"response": [{
"response": {
"status": 0,
"data": {
...
}
}
},
{
"response": {
"status": 0,
"data": {
...
}
}
}]
}
}Code:
RestDataSource dataSource = new RestDataSource();
dataSource.setDataFormat(DSDataFormat.JSON);
dataSource.setDataProtocol(DSProtocol.POSTMESSAGE);
OperationBinding add = new OperationBinding();
add.setOperationType(DSOperationType.ADD);
add.setDataProtocol(DSProtocol.POSTMESSAGE);For example, the client call :
Code:
{
"transaction": {
"transactionNum": 52,
"operations": [{
"dataSource": "isc_sector_5_0",
"operationType": "add",
"textMatchStyle": "exact",
"componentId": "UPStockOT58",
"data": {
"id": 1244962,
"_selection_27": true
},
"oldValues": null
},
{
"dataSource": "isc_sector_5_0",
"operationType": "add",
"textMatchStyle": "exact",
"componentId": "UPStockOT58",
"data": {
"id": 1328573,
"_selection_27": true
},
"oldValues": null
}]
}
}Edit and SOLVED (reading this SmartGwt post):
The reply must be :
Code:
[{
"response": {
"status": 0,
"data": {
...
}
}
},
{
"response": {
"status": 0,
"data": {
...
}
}
}]Code:
dataSource.setJsonPrefix("");
dataSource.setJsonSuffix("");