[英]Yelp API calls using Jersey REST Client
我試圖對Yelp API
進行REST調用,以從Java Spring MVC Web Application
獲取業務數據。 我可以使用Postman App
進行API調用。 現在,我正在嘗試使用Jersey REST客戶端。 我的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
並從該Object獲取所需的數據。
您甚至都沒有發出請求。 您需要使用WebResource.Builder
上的方法之一。 在WebResource
上調用header()
,您將獲得一個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
是用於對Yelp JSON建模的自定義POJO類。 如果您不知道如何制作此類,那么您可能需要閱讀一些有關如何將JSON映射到Java對象的Jackson教程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.