我正在编写一个应同时在台式机和移动设备上运行的应用程序,它需要使用REST与服务器通信。我正在使用Gluon Mobile。
我在客户端编写的代码与jax-rs兼容,如下所示:
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
Client client = ClientBuilder.newBuilder().build();
WebTarget target = client.target("http://www...").path("/login/...");
Future<Response> future = target.request().async().get();
Response response = future.get();
并且我指定了对诸如RESTEASY或Jersey客户端之类的实现的依赖。
Gluon Connect具有REST实现,但不兼容JAX-RS:
RestClient restClient = RestClient.create()
.method("GET")
.host("https://...")
.path("/login/...")
...
这意味着我的客户需要2个代码版本。我想编写一次,然后在其余代码中任意运行。可能吗?我可以在android和ios上使用JAX-RS实现吗?我需要告诉gradle在为Android和ios构建桌面时使用一种实现,对吗?