1

我正在启动一个项目,该项目包括通过 Restful WS 层(可能是 json)进行 OpenBravo 集成这种集成在开始时很简单,因为它只包含一个将执行 GET、PUT、POST 和 DELETE 的 REST Web 服务客户端行动。

我的问题是关于如何管理 json 对象以及 OpenBravo 是否带来了一些方法来转换数据访问对象中的 json 对象,以便于处理。

我见过 OpenBravo DAL(数据访问层),有没有办法混合其余部分和 dal 来处理 OB 对象?

最好的祝福,

4

2 回答 2

2

Openbravo 有一个名为org.openbravo.service.json的模块

上面的模块利用了openbravo的JSON和DAL层。

当我们对产品进行get请求时,JSON模块使用DAL查询数据库并将OB对象转换为JSON对象。

当我们要创建一个新产品时,JSON 模块使用 DAL 来创建一个新的 OB 对象。

您可能需要关注 openbravo 方面的主要课程是,

  • 1) DefaultJsonDataService
  • 2) JsonToDataConverter -- 将 json 数据转换为 Openbravo 业务对象。

  • 3)DataToJsonConverter——负责将Openbravo业务对象转换为json表示。

重要链接:Openbravo JSON REST

于 2013-06-21T07:33:51.877 回答
1

这是一个可能对您有所帮助的示例...首先让我们看一下这段代码片段

 public class SimpleRestClass extends BaseWebServiceServlet {
   private static final long serialVersionUID = 1L;

   @Override
   public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
     String Name = request.getParameter("Name");
     String Email = request.getParameter("Email");

     List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
     Map<String, Object> map = new HashMap<String, Object>();

     map.put("Name", Name);
     map.put("Email", Email);
     // map.put("Path", request.getPathInfo().toString());

     list.add(map);
     final String json = new DataToJsonConverter().convertToJsonObjects(list).toString();

     // write to the response
    response.setContentType("application/json");
    response.setCharacterEncoding("utf-8");
    final Writer w = response.getWriter();
    w.write(json);
    w.close();

  }

}

在上面的代码中

最终字符串 json = new DataToJsonConverter().convertToJsonObjects(list).toString();

就是你要找的。convertToJsonObjects()方法的签名是

List<JSONObject> convertToJsonObjects(List<Map<String, Object>> data)

REST Json WS 需要注意的 openbravo 中的重要类是

import org.openbravo.service.json.DataToJsonConverter

这个类有更多与 Json 相关的方法。希望这会帮助你。

如果您有任何问题,请随时提出。

于 2013-09-23T11:00:07.543 回答