【问题标题】:Openbravo rest web servicesOpenbravo 休息网络服务
【发布时间】:2013-06-20 13:05:43
【问题描述】:

我正在启动一个项目,该项目包含通过 Restful WS 层(可能是 json)集成 OpenBravo POST 和 DELETE 操作。

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

我见过 OpenBravo DAL(数据访问层),有没有办法将其余部分和 dal 混合在一起以破坏 OB 对象?

最好的问候,

【问题讨论】:

    标签: web-services rest openbravo


    【解决方案1】:

    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

    【讨论】:

    • 谢谢 Vel,我正在尝试从标准应用程序中使用 Web 服务,如何在我的项目中获取这些类,我必须包含哪些 jar?面对这样的项目,有什么更好的方法?如果你能帮助我,我将不胜感激。最好的问候!
    • @Pymoo 您不需要任何 jar,因为您的应用程序将发出 HTTP 请求,而 openbravo 将使用 json 对象进行响应。在这种情况下,您的标准应用程序将充当 Openbravo JSON REST Web 服务的客户端。
    • 如果您想在创建产品或销售订单时添加业务逻辑,那么您可能需要在 Openbravo 之上创建一个扩展模块。
    • 是的,我明白,但请原谅我这个新手问题:如何在没有 jar 的情况下使用标准 Java 应用程序访问这些类?你能给我写个例子吗?
    【解决方案2】:

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

     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)
    

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

    import org.openbravo.service.json.DataToJsonConverter
    

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

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

    【讨论】:

    • 谢谢克里希纳!这就是我要找的。​​span>
    • 欢迎@Pymoo!我很高兴能帮到你。
    猜你喜欢
    • 2011-11-08
    • 2016-05-24
    • 2015-12-24
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 2012-07-20
    相关资源
    最近更新 更多