我正在学习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(它可以在区域设置输入的表单上工作)。
答案 0 :(得分:0)
来自 Spring documentation "Consuming a RESTful Web Service" :
本指南将指导您完成创建应用程序的过程 使用RESTful Web服务。
首先,您必须定义模型。在这种情况下,它是Quote
和Value
。
然后,您就可以调用您的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对象。