Spring4 HandlerMethodArgumentResolver不工作不生效

問題背景

具體因公司作的業(yè)務(wù)需求,需要將原來的form表單進行驗簽,之前比如登錄是
www.abc.com/System/user/login?name=tom&pwd=123
現(xiàn)在都需要該改成以下形式
www.abc.com/System/user/login?param={"name":"tom","pwd":"123"}&sign=202cb962ac59075b964b07152d234b70
但是呢,我發(fā)現(xiàn)之前這套后臺的開發(fā)者直接是在Controller中是直接這樣實現(xiàn)的:

@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業(yè)務(wù)中,以上代碼不能直接取到param里面的name和pwd值,只能取到param的String值,然后用JsonObject.getString("name")的方法來取值,但是有很多業(yè)務(wù)的Controller,這樣寫起來也不方便啊。然后我就想到了用HandlerMethodArgumentResolver來實現(xiàn)。
其實我完全可以不用把之前的form的業(yè)務(wù)數(shù)據(jù)封裝成JSON的,但是我這個人就是比較固執(zhí),還有就是業(yè)務(wù)上面需要對JSON格式的數(shù)據(jù)進行驗簽(其實我完全可以把每個Key對應(yīng)的Value值拼接起來加上Salt值驗簽,只不過這樣對于客戶端調(diào)試不方便,所以就想了一套比較笨的方法吧),好吧既然糾結(jié)過了,我們就直接開搞吧。

實現(xiàn)過程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容