Yelp API звонки с использованием Jersey REST Client - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь сделать REST-вызовы на Yelp API, чтобы получить бизнес-данные от моего Java Spring MVC Web Application. Я могу сделать вызов API, используя Postman App. Сейчас я пытаюсь использовать REST-клиент Jersey. Мой REST звонок будет следующим:

ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource webResource = client.resource("https://api.yelp.com/v3/businesses/{id}");
Object responseMsg = webResource
.header("Authorization", "Bearer My_Key")
.getClass();

Согласно документации Yelp Документация Yelp , объект будет возвращен, если я сделаю вызов API. Разве невозможно сохранить возвращенные данные в Java Oject и получить необходимые данные из этого объекта.

1 Ответ

0 голосов
/ 24 января 2019

Вы даже не делаете запрос. Вам нужно использовать один из методов на WebResource.Builder. Как только вы наберете header() на WebResource, вы получите WebResource.Builder. Чтобы сделать вызов API, вам нужно использовать такой метод, как get(), post(), put() и т. Д. Передайте ClientResponse.class в качестве аргумента, чтобы получить обратно ClientResponse. Вы можете проверить статус на ClientResponse. Если состояние в порядке, вызовите response.getEntity(POJO.class), где POJO.class - ваше собственное представление класса модели данных Yelp JSON. Что-то вроде

ClientResponse response = webResource
        .header("Authorization", "Bearer My_Key")
        .get(ClientResponse.class);
if (response.getStatus() == 200) {
    YelpModel model = response.getEntity(YelpModel.class);
}

Вам необходимо убедиться, что у вас есть зависимость jersey-json, и настроить функцию JSON POJO с клиентом

ClientConfig clientConfig = new DefaultClientConfig();              
clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE); 
Client client = Client.create(clientConfig);

YelpModel - ваш пользовательский класс POJO, который моделирует Yelp JSON. Если вы не знаете, как создать этот класс, вам, возможно, придется изучить некоторые учебники Джексона о том, как сопоставить JSON с объектами Java.

...