是否可以使用Spring MVC从URL参数中提取地图和单独的变量?

时间:2016-08-08 13:22:04

标签: java spring spring-mvc

public String myMethod(@RequestParam String param1, @RequestParam String param2, @RequestParam Map<String, String> map)

这就是我现在正在做的事情。但它无法正常工作,因为param1和param2也存在于地图中。有没有办法解决?我在这里使用GET,如果它有任何帮助。

1 个答案:

答案 0 :(得分:0)

可以在Map中获得Spring矩阵变量。但是你需要发送url params,如下所示。

// URL : GET /owners/42;q=11;r=12/pets/21;q=22;s=23

  @RequestMapping(value = "/owners/{ownerId}/pets/{petId}", method = RequestMethod.GET)
 public void findPet(
    @MatrixVariable Map<String, String> matrixVars,
    @MatrixVariable(pathVar="petId"") Map<String, String> petMatrixVars) {    

// matrixVars: ["q" : [11,22], "r" : 12, "s" : 23]
// petMatrixVars: ["q" : 11, "s" : 23]

}

有关详细信息,请参阅:http://docs.spring.io/spring-framework/docs/3.2.x/spring-framework-reference/html/mvc.html#mvc-ann-matrix-variables