当前实现基于url的查询spring控制器并以查询为例
search/?driverId=1&driverId=2.
控制器如下所示:
public List<DriverDTO> searchDrivers(@RequestParam Map<String,
String> params) {}
我主要关心的是如何将Map参数映射到如下所示的POJO,以便我可以使用该映射查询H2数据库。还是可以直接查询数据库?
public class queryDO {
private Long id;
private ManufacturerType manufacturerType;
private int rating;
}
这是我第一次使用这种类型的查询api,因此任何示例(目前在github上都找不到)。
答案 0 :(得分:1)
如果您的QueryDO
类具有getter和setter,那么以下操作应该很好:
public class QueryDO {
private Long id;
private ManufacturerType manufacturerType;
private int rating;
// getters / setters
}
@RestController
public class SearchController {
@GetMapping("/search")
public List<DriverDTO> searchDrivers(QueryDO query) {
...
}
}
如果查询字符串中的参数名称与QueryDO
类的属性匹配,Spring将自动将其映射到query
对象的相应属性中。
例如查询:
search/?id=1&rating=35