URL的参数在springMVC做的后台如何获取?

问题:除了用HttpServletRequest一个个获取参数,还有其他办法吗?比如@requestBody之类的?
背景:后台JAVA springMVC

URL: http://localhost/spring-ssh/book/allBooks?draw=1&columns[0][data]=bookId&columns[0][name]=&columns[0][searchable]=true&columns[0][orderable]=true&columns[0][search][value]=&columns[0][search][regex]=false&columns[1][data]=name&columns[1][name]=&columns[1][searchable]=true&columns[1][orderable]=true&columns[1][search][value]=&columns[1][search][regex]=false&columns[2][data]=description&columns[2][name]=&columns[2][searchable]=true&columns[2][orderable]=true&columns[2][search][value]=&columns[2][search][houtregex]=false&order[0][column]=0&order[0][dir]=desc&start=0&length=5&search[value]=&search[regex]=false&_=1488795320665

后台期望获取的参数:?后的所有参数

有几种可选方式:
1、在方法参数里面加上参数draw,columns就能获取到参数
2、直接通过HttpServletRequest的getParameter方法获取参数,代码大概是

    @RequestMapping(value="/allBooks")
    public Object allBooks(HttpServletRequest request){
        String draw=request.getParameter("draw");
        return null;
    }

扔个对象自动封装。或者直接写参数名不可以?

回复 roc_tootwo

除了下面这个办法,还有其他办法吗?

        Iterator it= request.getParameterMap().keySet().iterator();   
        while(it.hasNext()){   
             String key;   
             String[] value;   
             key= it.next().toString();   
             value= (String[])request.getParameterMap().get(key);   
             //logger.info(key+"--" + value[0]);
             System.out.println(key+"--" + value[0]);  
        }