【问题标题】:How to read the request param values in spring using HTTPServletRequest如何在 Spring 中使用 HTTPServletRequest 读取请求参数值
【发布时间】:2012-03-14 18:03:17
【问题描述】:

我想使用 HttpServletRequest 从 url 读取 requestParams 数据

http://localhost:8080/api/type?name=xyz&age=20

我的控制器中的方法没有定义@RequestParam,它只是

@RequestMapping(value = "/**", method = RequestMethod.GET)
    public ResponseEntity<String> getResponse(
            final HttpServletRequest request) {}

我只想使用请求读取参数而不是整个 url。

【问题讨论】:

    标签: java spring http url


    【解决方案1】:

    首先,为什么要定义:

    @RequestMapping(value = "/**", method = RequestMethod.GET)`
    

    ?

    也许你应该使用:

    @RequestMapping(value = "/api/type", method = RequestMethod.GET)
    

    并读取参数:

    request.getParameter("name");
    request.getParameter("age"):
    

    【讨论】:

      【解决方案2】:

      这是你要找的吗?

      public java.lang.String getParameter(java.lang.String name)
      

      来自API

      获取参数

      String getParameter(String name) 返回请求的值 参数作为字符串,如果参数不存在,则返回 null。 请求参数是随请求发送的额外信息。为了 HTTP servlet,参数包含在查询字符串中或发布 表格数据。只有当您确定 参数只有一个值。如果参数可能超过 一个值,使用 getParameterValues(java.lang.String)。

      如果将此方法与多值参数一起使用,则值 返回的值等于返回的数组中的第一个值 获取参数值。

      如果参数数据是在请求体中发送的,如发生 使用 HTTP POST 请求,然后直接通过 getInputStream() 或 getReader() 会干扰 这个方法。

      Parameters: name - 指定参数名称的字符串 返回: 表示参数的单个值的 String 参见 另外:getParameterValues(java.lang.String)

      【讨论】:

        【解决方案3】:

        你可以使用

        request.getParameter("parameter name") 
        

        【讨论】:

          【解决方案4】:

          xiang 适合您的确切问题:“我只想使用请求读取参数”

          但是你为什么要让它变得如此困难。 Spring 支持你,所以你不需要自己处理请求对象来处理这些常见的任务:

          我推荐使用

          @RequestMapping(value = "/*", method = RequestMethod.GET)
          public ResponseEntity<String> getResponse(
              @RequestParam("name") String name
              @RequestParam("age") int age){
          
              ...
          }
          

          改为。

          @参见 Spring 参考章节15.3.2.4. Binding request parameters to method parameters with @RequestParam

          【讨论】:

            猜你喜欢
            • 2017-03-11
            • 1970-01-01
            • 2017-03-21
            • 2021-07-08
            • 2011-09-28
            • 1970-01-01
            相关资源
            最近更新 更多