Spring启动 - WeatherApp - API

时间:2017-09-08 12:36:47

标签: java spring api

我试图使用spring boot MVC制作天气应用程序。我想使用api:openweather.com。

在控制器中,我有一个传递参数的方法。我有两个html页面。一个用form和submit,另一个用来显示表单的字符串。 如何使用表单中的参数绑定API以及如何检索JSON信息。

@GetMapping("/show")
public String show(@RequestParam ("city") String city, ModelMap modelMap){
    modelMap.addAttribute("city", city);
    return "article/show";
}

2 个答案:

答案 0 :(得分:0)

您可以使用RestTemplate从天气API中检索JSON。

您在以下链接中有一个示例: http://www.baeldung.com/rest-template

收到JSON对象后,可以将其添加到模型中并将其发送到JSP或其他模板引擎。

答案 1 :(得分:0)

你的后端代码中应该有一个get listener,可以从openweather获取天气。看起来应该是这样的:

@RequestMapping("/weather")
public String show(@RequestParam ("city") String city)
//Method body
//In the method body you should make a request to the openweather server with an api key which you can get by registering in the website. You can achieve this with Unirest library (it's the easiest way)
HttpResponse<JsonNode> response = Unirest.get("http://api.openweathermap.org/data/2.5/weather")/
                            .queryString("APPID","YOUR_APP_ID")
                            .queryString("city",city)
                            .header("content-type","application/json")
                            .asJson();

此方法将返回一个包含所需数据的JSON,您可以使用RestTemplate进行解析。