Openbravo休息网络服务

时间:2013-06-20 13:05:44

标签: web-services rest openbravo

我正在通过Restful WS Layer开始一个包含OpenBravo集成的项目(可能是json)这种集成在开始时很简单,因为它只包含一个将执行GET,PUT的休息Web服务客户端, POST和DELETE操作。

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

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

最诚挚的问候,

2 个答案:

答案 0 :(得分:2)

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

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

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

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

您可能需要专注于openbravo方面的主要类是,

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

  • 3)DataToJsonConverter - 负责转换Openbravo业务对象                         以json为代表。

重要链接:Openbravo JSON REST

答案 1 :(得分: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();

  }

}

在上面的代码中

final String 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相关的方法。希望这会对你有所帮助。

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