SpringMVC 自定義引數解析器

2021-10-21 02:17:28 字數 1496 閱讀 5922

閱讀目錄

回到頂部

public inte***ce handlermethodargumentresolver
supportsparameter 方法返回 boolean 值,表示是否啟用該解析器,true 表示啟用,false 表示不啟用;resolveargument 方法表示方法引數的解析過程,就是你把 http 的請求引數轉換為方法引數的過程,返回 object 物件,即引數的轉換結果。

@requestparam 對應的引數解析器是 requestparammethodargumentresolver;@requestbody 對應的引數解析器是 requestresponsebodymethodprocessor;諸如此類的解析器,讀者可自行閱讀。

回到頂部

我想在控制器方法引數中得到當前使用者的登陸資訊,大概是如下這個效果,只要新增了 @currentuser 註解,那麼 userparam 引數中就會有當前使用者的登陸資訊。

public responsedata> list(@currentuser userparam userparam)

怎麼實現呢?首先我們需要有乙個 @currentuser 註解:

@target(elementtype.parameter)

@retention(retentionpolicy.runtime)

public @inte***ce currentuser

那麼剩下來的工作就是 handlermethodargumentresolver 的事情了:

@slf4j

public class currentuserhandlermethodargumentresolver implements handlermethodargumentresolver

/*** 真正用於處理引數分解的方法,返回的 object 就是 controller 方法上的形參物件。

*/@override

public object resolveargument(methodparameter methodparameter, modelandviewcontainer modelandviewcontainer, nativewebrequest nativewebrequest, webdatabinde***ctory webdatabinde***ctory) throws exception catch (ioexception e) ", accesstoken, e);

} catch (exception e) ", accesstoken, e);

}return null;

}}

最後,別忘了註冊上自定義的引數解析器哦!

@configuration

public class webconfig extends webmvcconfigureradapter

}

spring mvc引數自定義註解開發

b 前言 b 在使用過程中,發現spring mvc的restful架構,有一些滿足不了需求。因此研究了一下自定義註解開發滿足需求。自定義註解,可以無縫輸入引數到controller中,尤其是http的put請求。b 一 搭建標準的spring mvc環境 b 略。b 二 開發註解詳細過程 b 1....

自定義引數 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 ...

Spring mvc 設定自定義首頁

web.xml 中什麼沒有配置任何有關歡迎頁的資訊!其實這時等效於如下配置 這個會由web容器最先訪問!index.html index.htm index.jsp 在用 spring mvc 寫程式時,配置 dispatcherservlet 攔截規則為攔截所有 時,應用程式的首頁定義很有可能會出...