最近,遇到一个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);
}
传参正常,问题解决!!!!