【问题标题】:Spring boot query parameters map bind to different typesSpring Boot 查询参数映射绑定到不同类型
【发布时间】:2016-01-13 19:03:23
【问题描述】:

我有一个接受任意查询参数的休息调用。为了捕捉这些我正在使用@RequestParam Map queryParams。

我希望地图中的每个条目都绑定到不同的类型,例如有些是迄今为止的,有些是双打的,有些是字符串的,等等......

我该怎么做?

任何代码示例都会有所帮助。

总经理

【问题讨论】:

    标签: spring spring-mvc spring-boot spring-restcontroller


    【解决方案1】:

    你可以这样:

    @RequestMapping(value= "/xxx")
    public @ResponseBody void reqParamSample(ModelMap model, 
    HttpServletRequest request,
    @RequestParam(value="id") int id,
    @RequestParam(value="name") String name){
    
        // do sth
    }
    

    请求参数将根据参数名称转换为类型。

    【讨论】:

      【解决方案2】:

      最后一定要映射到Map吗?您可以像这样创建一个辅助对象并将所有 requestemParams 映射到它:

      CustomObjectDTO
      public class CustomObjectDTO{
          private String prop1;
          private Date   prop2;
          private int    prop3;
      
          //Getters and setters
          // propably also the default constructor is needed
      }
      

      还有你的示例控制器:

      public @ResponseBody void doSomething(CustomObjectDTO customObjectDTO){
          // do something with the object
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-07
        • 2019-09-27
        • 2018-08-05
        • 2011-09-20
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 2023-01-19
        相关资源
        最近更新 更多