繁体   English   中英

Openbravo休息网络服务

[英]Openbravo rest web services

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

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

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

最好的祝福,

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM