ArgumentResolver

簡要描述:

  • controller方法參數解析器,在所有controller方法都用共同的方法參數的共性時,可以利用此統(tǒng)一解析,針對參數類型,注解,參數值各種方式

example1:

  public class ClientInfoRequestArgumentResolver implements HandlerMethodArgumentResolver {

    @Override
    public boolean supportsParameter(MethodParameter parameter) {
        return MiniappClientInfo.class == parameter.getParameterType();
    }

    @Override
    public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
            NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
        if (webRequest.getAttribute(ReqAttributes.CLIENTINFO, RequestAttributes.SCOPE_REQUEST) != null) {
            MiniappClientInfo clientInfo = (MiniappClientInfo) webRequest.getAttribute(ReqAttributes.CLIENTINFO,
                    RequestAttributes.SCOPE_REQUEST);
            return clientInfo;
        }
        return null;
    }


2.controller代碼:
public JsonResp<CreditStageResp> creditStage(WebAuthUser user, MiniappClientInfo ){

//doSomething();

}

3.配置
@Override
 public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
    
    argumentResolvers.add(new ClientInfoRequestArgumentResolver());

}

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容