[b] 前言[/b]
在使用過程中,發現spring mvc的restful架構,有一些滿足不了需求。因此研究了一下自定義註解開發滿足需求。
自定義註解,可以無縫輸入引數到controller中,尤其是http的put請求。
[b] 一 搭建標準的spring mvc環境[/b]
略。[b] 二 開發註解詳細過程[/b]
1.開發註解 requestparamextend
2.開發註解直譯器 requestparamextendmethodargumentresolver
3.在spring配置檔案中,註冊直譯器
4.開發***,把引數從request.getinputstream()讀取出來,放到request.setattribute中
[b] 三 擴充套件閱讀[/b]
1.put request can't get parameter from request.getparameter()
2.put提交的引數,目前都是從request.getinputstream()中讀取,因此讀取一次,無法再次讀取。需要放到request.attribute中
3.put提交的引數,在流中讀出之後,結構如下 param1=value1¶m2=value2¶m3=value3,因此需要自己解析並組裝成map
4.requestparamextend註解與requestparam註解完全相同,只是直譯器不同,見**中注釋部分
5.推薦使用httpcomponent4.1進行測試,此方法本人在生產環境中已經通過測試。
validation 引數校驗 包括自定義註解
validation 引數校驗 jsr提供的校驗註解 null 被注釋的元素必須為 null notnull 被注釋的元素必須不為 null asserttrue 被注釋的元素必須為 true assertfalse 被注釋的元素必須為 false min value 被注釋的元素必須是乙個數字,其...
SpringMVC 自定義引數解析器
閱讀目錄 回到頂部 public inte ce handlermethodargumentresolversupportsparameter 方法返回 boolean 值,表示是否啟用該解析器,true 表示啟用,false 表示不啟用 resolveargument 方法表示方法引數的解析過程,...
自定義引數 Python自定義函式引數
1.種類 1 位置引數 x就是位置引數 usr bin env python coding utf 8 def power x result x x print result 2 預設引數n就是預設引數 usr bin env python coding utf 8 def power x,n 1 ...