我正在开发一个简单的应用程序,我可以用来调用(使用REST服务)开放天气地图(OWM)服务来接收JSON输出并用它做各种事情。我在Eclipse中使用Spring MVC框架,我能够获得JSON输出,但我得到的所有东西都是NULL。我觉得它与OWM有关,而不是从我调用它的方式识别我的API密钥。任何指针都会很棒。我也在使用OWM网站上的解决方案和合作伙伴部分提供的OWM java库。
@GetMapping(value = "/current/{city}")
public ResponseEntity currentWeather(@PathVariable("city") String city) throws MalformedURLException, JSONException, IOException{
//String apiKey = "**myAPIKey**";
OpenWeatherMap openWMap = new OpenWeatherMap("**myAPIKey**");
openWMap.getApiKey();
CurrentWeather currentW = openWMap.currentWeatherByCityName("Berlin");
return new ResponseEntity(currentW, HttpStatus.OK);
}
}
我的输出看起来像
{
"responseCode": -2147483648,
"rawResponse": null,
"dateTime": null,
"weatherCount": 0,
"cityName": null,
"coordInstance": null,
"mainInstance": null,
"rainInstance": null,
"sysInstance": null,
"windInstance": null,
"baseStation": null,
"cityCode": -9223372036854775808,
"cloudsInstance": null,
"valid": false
}
如果我能弄清楚如何获得正确的JSON响应,我觉得好像我可以得到温度,而不是很合理。任何指针都会非常感激!
答案 0 :(得分:0)
我意识到由于工作中的防火墙,我返回了一个空值。关掉代理,一切都很完美!