我正在尝试在Controller类中创建一个方法以返回位置列表
我想给予它一个纬度和经度的范围,并返回列表中的位置。
当前控制器类中的Get methon如下所示
@GetMapping public ResponseEntity<List<Location>> searchLocations(
@RequestParam(required = false) Location.LocationType type,
@RequestParam Double lat1, @RequestParam Double lng1,
@RequestParam Double lat2, @RequestParam Double lng2,
@RequestParam(required = false, defaultValue = "10") Integer limit) {
Pageable pageable = PageRequest.of(0, limit);
List<Location> locations = locationRepository.findByLatBetweenAndLngBetweenAndTypeOrderByTypeDesc(
Math.min(lat1, lat2), Math.max(lat1, lat2), Math.min(lng1, lng2), Math.max(lng1, lng2), type, pageable);
return ResponseEntity.ok(locations); }
我传入的数据是
{
"lat1": 46.6,
"lng1": 46.6,
"lat2": 48.8,
"lng2": 48.8,
"type": "premium",
"limit": 3
}
我想传入一个Json,它看起来像
"p1": 46.6, 15.4
"p2": 48.8, 17.5
"type": "premium"
"limit": 3
因此,p1和p2是点,它返回这些点内的位置
1条答案
按热度按时间dfty9e191#
查看
@RequestBody
以传递结构,您当前正在处理URL参数。在JSON中,不能以这种方式返回值。
你必须这样做:
或者一个值数组(恕我直言,这看起来很糟糕):