Конфигурируемые конечные точки с использованием CRest - PullRequest
0 голосов
/ 27 января 2011

Я пытаюсь создать приложение Android, которое использует CRest для взаимодействия с веб-службой RESTful.

Проблема, с которой я сталкиваюсь, связана с созданием Службы.В примерах для твиттера EndPoint настроен на статический URL (api.twitter.com), но в моем случае мне нужно, чтобы он был настраиваемым, так как мы не узнаем конечную точку, пока пользователь не укажет ее.Я хотел бы сделать что-то вроде этого:

@EndPoint("http://%s.somedomain.com")
@ContextPath("/admin")

public interface ProductService {
    @Path("/products.json")
    InputStream getProducts();

    @Path("/products/{0}.json")
    InputStream getProduct(int id);
}

Есть ли способ, которым я могу указать при создании службы, где EndPoint

Ответы [ 2 ]

0 голосов
/ 27 января 2014

Кстати, реализация заполнителя уже есть и задокументирована http://crest.codegist.org/annotations/api.html

@EndPoint("http://{my.interface.host}")
public interface MyInterface {
    ...
}

Используется с

String myInterfaceHost = ...;

CRest crest = CRest.placeholder("my.interface.host", myInterfaceHost).build();

MyInterface myInterface = crest.build(MyInterface.class);
0 голосов
/ 28 января 2011

Посмотрите на ссылку quick start , внизу вы можете найти этот фрагмент кода:

Properties props = new Properties();
props.setProperty("service.end-point", "http://127.0.0.1:8080");

CRest crest = new CRestBuilder()
                        .overrideDefaultConfigWith(props)
                        .build();

В следующем выпуске будет более простой способ сделать это, либочерез Builder или через соглашение с заполнителями для значений аннотаций, как вы упомянули.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...