Java Spring MVC将请求参数绑定到POJO字段

Java Spring MVC将请求参数绑定到POJO字段,java,spring,spring-mvc,query-by-example,Java,Spring,Spring Mvc,Query By Example,我想要一个具有以下映射(不完整)的控制器: @GetMapping(/searchitems) public@ResponseBody页面获取(项目探测) 从Item probe参数中,我想将其放入项目存储库中并返回结果 问题: 如何完成上面的搜索URL映射?作为搜索URL,我的想法类似于/searchitems?itemAttributeA=foo&itemAttributeB=bar&…itemAttributeZ=xyz。如何告诉spring将传递的请求参数注入具有相同名称的项目探测字段

我想要一个具有以下映射(不完整)的控制器:

@GetMapping(/searchitems)
public@ResponseBody页面获取(项目探测)
Item probe
参数中,我想将其放入项目存储库中并返回结果

问题:


如何完成上面的搜索URL映射?作为搜索URL,我的想法类似于
/searchitems?itemAttributeA=foo&itemAttributeB=bar&…itemAttributeZ=xyz
。如何告诉spring将传递的请求参数注入具有相同名称的
项目探测
字段?

您可以为此使用
@RequestParam

public @ResponseBody Page<Item> get(@RequestParam("itemAttributeA") String itemAttributeA , 
                                    @RequestParam("itemAttributeB") String itemAttributeB,...)
public@ResponseBody Page get(@RequestParam(“itemAttributeA”)字符串itemAttributeA,
@RequestParam(“itemAttributeB”)字符串itemAttributeB,…)

您可以为此使用
@RequestParam

public @ResponseBody Page<Item> get(@RequestParam("itemAttributeA") String itemAttributeA , 
                                    @RequestParam("itemAttributeB") String itemAttributeB,...)
public@ResponseBody Page get(@RequestParam(“itemAttributeA”)字符串itemAttributeA,
@RequestParam(“itemAttributeB”)字符串itemAttributeB,…)

添加@modeldattribute应该将各个请求参数绑定到项目POJO中

public @ResponseBody Page<Item> get(@ModelAttribute Item probe)
public@ResponseBody页面获取(@modeldattribute项探测)

添加@modeldattribute应该将各个请求参数绑定到项目POJO中

public @ResponseBody Page<Item> get(@ModelAttribute Item probe)
public@ResponseBody页面获取(@modeldattribute项探测)

您可以创建POJO并在控制器类中作为参数传递。Pojo应该具有要读取和设置的字段。Spring将读取并映射Pojo中您将定义为请求的那些属性

 @GetMapping(/searchitems)
 public ResponseEntity<List<Items>> searchItems(ItemRequest       itemRequest) {
 }
@GetMapping(/searchitems)
公共响应属性搜索项目(ItemRequest ItemRequest){
}
唯一需要注意的是检查绑定结果。如果有错误,我们需要停止请求并处理或抛出

例如,URL中的以下所有属性都将在Pojo中设置


您可以创建POJO并在控制器类中作为参数传递。Pojo应该具有要读取和设置的字段。Spring将读取并映射Pojo中您将定义为请求的那些属性

 @GetMapping(/searchitems)
 public ResponseEntity<List<Items>> searchItems(ItemRequest       itemRequest) {
 }
@GetMapping(/searchitems)
公共响应属性搜索项目(ItemRequest ItemRequest){
}
唯一需要注意的是检查绑定结果。如果有错误,我们需要停止请求并处理或抛出

例如,URL中的以下所有属性都将在Pojo中设置


我想添加一个跟进。Spring有RestController的概念,如果您使用此注释而不是控制器,则可以从方法签名中删除ResponseBody注释。我想添加后续内容。Spring具有RestController的概念,如果使用此注释而不是控制器,则可以从方法签名中删除ResponseBody注释