初学者 - Springboot天气计划

时间:2017-09-01 15:05:48

标签: java json spring-boot weather-api

我正在学习Java和SpringBoot。试图制作一个网络应用程序来检查天气。我正在使用来自https://openweathermap.org/api的API。

我不知道如何从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来使用spring boot(它可以在区域设置输入的表单上工作)。

1 个答案:

答案 0 :(得分: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会自动将JSON从API转换为Java对象。