java - 如何在worklight 8.0 android中使用WLResourceRequest
问题描述
我是 worklight 的新手,目前正在研究混合 android 项目并遵循 worklight 8.0 文档。
对于 Java 适配器,使用/adapters/{AdapterName}/{path}
. 路径取决于您@Path
在 Java 代码中定义注释的方式。这也将包括@PathParam
您使用的任何内容。
我的问题是,1. 路径是什么?2.没有找到@Path注解?
谁能指导我如何在android中使用WLResourceRequest。
//Here I'm using javascript adapters
URI adapterPath = new URI("/adapters/adapter name/procedure name");
WLResourceRequest request = new WLResourceRequest(adapterPath, WLResourceRequest.POST);
request.setHeaders(getHeaders());
request.setTimeout(30000);
request.send(jSONString, wlResponseListener);
解决方案
Java 代码中的 @Path 注释:它被称为 JAVA 适配器代码。
例如,如果您有如下适配器代码:
package com.sample.adapter;
import java.util.logging.Logger;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
@Path("/")
public class JavaAdapterResource {
//Define logger (Standard java.util.Logger)
static Logger logger = Logger.getLogger(JavaAdapterResource.class.getName());
//Path for method: "<server address>/Adapters/adapters/JavaAdapter/{username}"
@GET
@Path("/{username}")
public String helloUser(@PathParam("username") String name){
return "Hello " + name;
}
}
@Path("/") 在类定义之前确定这个资源的根路径。如果您有多个资源类,则应为每个资源设置不同的路径。
例如,如果您有一个带有 @Path("/users") 的 UserResource 来管理博客的用户,则可以通过 http(s)://host:port/ProjectName/adapters/AdapterName/users/ 访问该资源。
同一个适配器可能包含另一个资源 PostResource 和 @Path("/posts") 来管理博客的帖子。它可以通过 http(s)://host:port/ProjectName/adapters/AdapterName/posts/ URL 访问。
在上面的示例中,因为它只有一个资源类,所以它被设置为@Path("/"),以便可以通过 http(s)://host:port/Adapters/adapters/JavaAdapter/ 访问它。
每个方法前面都有一个或多个 JAX-RS 2.0 注释,例如“HTTP 请求”类型的注释,如 @GET、@PUT、@POST、@DELETE 或 @HEAD。此类注释定义了如何访问该方法。
另一个例子是@Path("/{username}"),它定义了访问这个过程的路径(除了资源级路径)。如您所见,此路径可以包含可变部分。然后将该变量用作方法的参数,定义为 @PathParam("username") 字符串名称
请查看以下链接以获取更多详细信息
一世。来自 JavaScript(Cordova、Web)应用程序的资源请求
ii. 创建 JAVA 适配器
iii. ResourceRequestCordova 示例应用程序
iv. 示例适配器代码
推荐阅读
- c++ - (3D顶点列表)中心的快速脏近似,形成一个非常浅的凸包
- c - 在c代码中通过数组添加两个大数
- python - 如何在 Jupyter 笔记本中使用 Python 和 pandas 从特定列中提取数据?
- php - GLPI 编辑/隐藏现有选项卡中的字段
- ios - 当用户通过单击“提醒我”断开连接并且来电时,reportNewIncomingCall 的 CallKit UI 不显示
- javascript - 获取删除数据表中的行的问题
- r - select() 选择的列比我告诉它的要多。为什么?-R
- javascript - 我如何等待 axios 被退回?
- python - 在python中执行可变数量的数组点积?
- angular - 如何在 AWS 中通信前端 Angular 应用程序和多个后端 API?