如何在GET请求中的rest控制器中获取查询参数?

时间:2014-10-20 19:25:43

标签: java controller spring-boot restful-url

这应该是一个单行,但我不习惯Spring或SpringBoot,所以我遇到了麻烦。

我正在使用查询参数构建RESTful服务。例如:http://myweatherapi.com:8080/foo?zip=14325&prop=humidity

我正在尝试一个SpringBoot的模板,在其中我有这个控制器:

@RestController
public class ServiceController {

    private static Logger LOG = LoggerFactory.getLogger(ServiceController.class);

    @RequestMapping("/foo")
    public String foo(@QueryParam("foo") String foo) {
        requestContextDataService.addNamedParam("foo", foo);

        // how can I access the full URL/query params here?

        return "Service is alive!!";
    }

}

我的问题是:如何访问完整的网址/查询参数

1 个答案:

答案 0 :(得分:6)

以下是一个例子:

@RequestMapping("/foo")
public String foo(HttpServletRequest request,@QueryParam("foo") String foo) {
    requestContextDataService.addNamedParam("foo", foo);

    // how can I access the full URL/query params here?
    request.getRequestURL() 
    request.getQueryString() 

    return "Service is alive!!";
}