2017-09-01 54 views
0

我正在學習Java和SpringBoot。試圖製作一個網絡應用程序來檢查天氣。我正在使用來自https://openweathermap.org/api的API。初學者 - Springboot天氣計劃

我不知道如何從API(JSON)檢索數據。有人能告訴我什麼嗎?

public String connectAndResponse(String url) throws IOException { 

    StringBuilder stringBuilder = new StringBuilder(); 
    HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); 

    BufferedReader reader = new BufferedReader(new InputStreamReader(
      connection.getResponseCode()==200 ? connection.getInputStream() : connection.getErrorStream() 
    )); 

    String line = ""; 
    while((line = reader.readLine()) !=null){ 
     stringBuilder.append(line); 
    } 
    return stringBuilder.toString(); 
} 

我已經處理JSON在一根繩子上,但我不知道如何使用JSON使用彈簧啓動(它會在語言環境中輸入窗體上工作)。

回答

0

Spring documentation "Consuming a RESTful Web Service"

本指南將引導您完成創建消耗RESTful Web服務的應用程序 的過程。

首先,你將不得不定義你的模型。在這種情況下,它是QuoteValue

然後,您將能夠調用您的API。

這裏的例子:

public class Application { 

    private static final Logger log = LoggerFactory.getLogger(Application.class); 

    public static void main(String args[]) { 
     RestTemplate restTemplate = new RestTemplate(); 
     Quote quote = restTemplate.getForObject("http://gturnquist-quoters.cfapps.io/api/random", Quote.class); 
     log.info(quote.toString()); 
    } 

} 

RestTemplate會自動從API轉換成JSON Java對象。