javaee标准包括一个REST规范,Jersey是它的一个实现。您可以将Jersey与netweaverjava7.3一起使用而不会出现问题。但您只能在javaee应用程序中这样做。如果要将SAP门户应用程序公开为REST接口?你有什么选择?
请记住,SAP门户应用程序是在SAP门户框架内执行的。在门户上下文中,您正在开发由门户执行的portlet。门户本身是一个javaee应用程序。现在很清楚,在这种情况下使用Jersey并不是那么简单:传入和传出调用由portal框架处理。
EJB和javaee任务通常不由SAP portal应用程序执行。门户应用程序可以调用它们,但通常不会执行JPA等人的操作。现在,为什么要使用带有REST接口的SAP门户应用程序?当然要使用门户框架。一种方案是检索用户信息,淘客返利系统,并通过门户安全性和将用户分配到正确的iView和角色来保护此信息。
浏览器支持GET、POST等常见HTTP命令,SAP门户也支持此命令。Portlet规范和SAP的实现允许每个HTTP命令都有监听器,大数据+,因此已经奠定了基础。独立于浏览器指定的方法调用的方法是doccontent。portlet类中的枚举定义了HTTP类型:
doContent方法用于标识客户端如何调用portlet。虽然IPortalComponentRequest是特定于SAP门户的,但它包含检索HttpServletRequest对象的方法。这是javaeeservlet的一个表单,它包含了知道如何调用servlet所需的信息。使用enum很容易找到portlet是如何被调用的:
当然,淘客公众号系统,这只在客户端使用portlet的URL而不直接指定任何其他信息路径时才起作用。例如,要获取由id标识的特定对象的数据,id参数必须作为查询传递。类似于/path/to/servlet/门户组件/{id}不起作用,大数据分析工具有哪些,而/path/to/servlet/门户组件?id=2将起作用。
要返回JSON对象,必须覆盖SAP门户输出。否则,门户框架将添加典型的其他门户信息。为了防止门户这样做,人工智能知识体系,必须从servlet响应中获取writer对象。
1。获取HttpServletResponse。提供参数true意味着我们要用我们自己的信息覆盖输出(有效地消除了门户框架HTML)。
2。获取writer.
现在只缺少JSON对象。有一个很好的图书馆json.org网站用于在Java中创建JSON对象。使用这个库,创建一个JSON对象非常简单:
因为仅仅发回一个JSON对象实际上不是一个JSON响应,所以内容类型也必须设置为JSON。
现在门户应用程序可以向浏览器发回一个JSON响应:
这只是门户组件类。为了让JSON正常工作json.org网站必须导入。访问portlet的链接由门户组件名称或iView定义。
类javax.servlet.http.HttpServletRequest包含在jar jee5中。门面.jar在DCs处发现\sap.com网站\发动机5.5.facade\\u comp\gen\default\public\api\lib\java
源代码可以在这里找到:tobiashofmann/JSONwithSAPPortal·GitHub