【发布时间】:2014-03-07 06:46:36
【问题描述】:
我有一个 SmartGWT 4.0 应用程序,我有一个正常工作的 RESTful Web 服务(Spring MVC 控制器),并使用标准 DataSource 来覆盖 transformResponse。
当我将 ID 传递给控制器时,DataSource 工作得很好,我得到了 JSON 数据,它工作得很好。问题是当我从 restful web 服务返回 NULL 时。
对于 SmartGWT 数据源,我是否应该返回一个空值?如果我将一个 id 传递给我的网络服务,但它在数据库中找不到匹配的记录,我是否应该从我的网络服务返回一个空值,在这种情况下,将没有 JSON,只有一个空字符串(“”)。
所以,我可以更新我的 transformResponse 来处理这个问题:
ListGridRecord[] recordArray = new ListGridRecord[]{};
dsResponse.setData(recordArray);
dsResponse.setStartRow(0);
dsResponse.setEndRow(0);
dsResponse.setStatus(RPCResponse.STATUS_SUCCESS);
dsResponse.setTotalRows(0);
data = "{}";
但这仍然会产生一个错误,我想避免。
或者,另一种可能性是返回一个空对象。因此,如果数据库中有对象,则将填充该对象。如果没有匹配的数据,那么我可以从 Web 服务返回一个空对象,如下所示:
MyObject myObject = new MyObject();
哪个更好?我倾向于后者……一个空的物体。
当我有更多信息时,我会更新这个问题。谢谢!
【问题讨论】:
标签: json web-services rest smartgwt