JAX-RS совместимая реализация на мобильных устройствах - PullRequest
0 голосов
/ 31 октября 2018

Я пишу приложение, которое должно работать как на настольном компьютере, так и на мобильном устройстве, и оно должно взаимодействовать с сервером с помощью 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 версии кода. Я хотел бы написать один раз запустить где-нибудь, как я получаю с остальной частью моего кода. Является ли это возможным? Есть ли реализация JAX-RS, которую я могу использовать на Android и IOS? Мне нужно сказать Gradle использовать одну реализацию при создании рабочего стола и другие для Android и IOS правильно?

...