最近,遇到一個bug是,當輸入參數比較大的時候,接口返回的數據正常,當數據較小的時候的數據完全不正確。
@RequestMapping(value = "/qpf/lat/{lat}/lon/{lon}", method = RequestMethod.GET)
public String getSingleQpf(@PathVariable("lat") double lat,@PathVariable("lon") double lon) {
return radarService.getSingleDataOfRadarQpf("radar_qpf", lat,lon);
}
檢查好幾遍代碼,發現寫的沒問題,經過多次對比發現是lon的小數點後面數據丟失了,查資料發現需要在後面冒號點加號(:.+),
將代碼改爲
@RequestMapping(value = "/qpf/lat/{lat}/lon/{lon:.+}", method = RequestMethod.GET)
public String getSingleQpf(@PathVariable("lat") double lat,@PathVariable("lon") double lon) {
return radarService.getSingleDataOfRadarQpf("radar_qpf", lat,lon);
}
傳參正常,問題解決!!!!