Spring4 HandlerMethodArgumentResolver不工作不生效

问题背景

具体因公司作的业务需求,需要将原来的form表单进行验签,之前比如登录是
www.abc.com/System/user/login?name=tom&pwd=123
现在都需要该改成以下形式
www.abc.com/System/user/login?param={"name":"tom","pwd":"123"}&sign=202cb962ac59075b964b07152d234b70
但是呢,我发现之前这套后台的开发者直接是在Controller中是直接这样实现的:

@Controller
@RequestMapping("user")
@ResponseBody
public class SmsVerifyCodeController {
    @Autowired
    private ShortMessageService messageService;

    @RequestMapping(value = "login")
    public ResponseVo sendSmsCode(String name, String pwd) {
        Log.d(name);
        Log.d(pwd);
    }
}

在Controller业务中,以上代码不能直接取到param里面的name和pwd值,只能取到param的String值,然后用JsonObject.getString("name")的方法来取值,但是有很多业务的Controller,这样写起来也不方便啊。然后我就想到了用HandlerMethodArgumentResolver来实现。
其实我完全可以不用把之前的form的业务数据封装成JSON的,但是我这个人就是比较固执,还有就是业务上面需要对JSON格式的数据进行验签(其实我完全可以把每个Key对应的Value值拼接起来加上Salt值验签,只不过这样对于客户端调试不方便,所以就想了一套比较笨的方法吧),好吧既然纠结过了,我们就直接开搞吧。

实现过程

你可能感兴趣的:(Spring4 HandlerMethodArgumentResolver不工作不生效)