我试图使用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";
}
答案 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进行解析。