Spring MVC:获取未命名的请求参数

时间:2014-03-31 18:45:56

标签: java spring spring-mvc

在Spring MVC控制器中访问未命名的请求参数的最简单方法是什么?是否有类似@RequestParam的注释?

使用未命名参数的HTTP删除请求:

http://localhost/myEndPoint?someUnnamedParam

控制器:

public class MyController {
    @RequestMapping(value = {"/myEndPoint"}, method = RequestMethod.DELETE)
    public void deleteThing() {
        // Do something with unnamed param
    }
}

详细信息: Spring 3.0.7

2 个答案:

答案 0 :(得分:3)

我觉得你误解了。

/myEndPoint?someUnnamedParam中,您有一个名为someUnnamedParam的参数,其String值为"",即。空String。它被解析为等同于/myEndPoint?someUnnamedParam=

您可以获取一组参数名称并将其用作值。

@RequestMapping(value = {"/myEndPoint"}, method = RequestMethod.DELETE)
public void deleteThing((@RequestParam Map<String, List<String>> params) {
    Set<String> paramNames = params.keySet();
    ...
}

答案 1 :(得分:1)

您可以随时使用

@RequestMapping(value = {"/myEndPoint"}, method = RequestMethod.DELETE)
public void deleteThing(HttpServletRequest request) {        
    String param = request.getQueryString();
        // Do something with request
}

并在request

上执行您需要的任何操作