日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SpringBoot @ModelAttribute使用場景分析

瀏覽:169日期:2023-02-18 09:57:56
前言

項目中遇到這么一個使用場景,用戶的登錄信息給予token保存,在需要有登錄信息的地方,每次都要去獲取用戶Id,但每次在請求方法中去獲取用戶信息,代碼重復,冗余,很low于是想到了用@ModelAttribute 這個屬性

@ModelAttribute有三種用法:- 可以標注在方法上;- 可以標注在方法中的參數上;- 還可以和@RequestMapping一起標注在方法上;

使用場景

不用@ModelAttribute 時候在需要用戶信息的請求中每次需要單獨獲取用戶信息

String token = request.getAttribute('token').toString(); User LoginUser = tokenService.decodeToken(token);

代碼重復每次都需要單獨去寫,

于是我想到了去優化一下代碼,在需要使用戶信息的controller中寫一個公共方法,每次直接獲取就可以了

private User gerUserInfo(HttpServletRequest request){String token = request.getAttribute('token').toString();User LoginUser = tokenService.decodeToken(token);return LoginUser; }

這樣寫代碼是簡化了一些,但是沒什么特別大的改觀,還是要在每個需求用戶信息的請求Controller中調用此方法取獲取用用戶信息,如果多個Controller需要獲取用戶信息的話還需要重復寫

也是想到繼承,寫一個公共的controller叫BaseController,每次在需要用戶信息的controller中繼承BaseController 然后在調用就可以了

@RestControllerpublic class BaseController { @Autowired private TokenService tokenService; private User gerUserInfo(HttpServletRequest request){String token = request.getAttribute('token').toString();User LoginUser = tokenService.decodeToken(token);return LoginUser; }}

這樣看上去似乎比之前兩種做法都簡單便捷很多,在需要使用用戶信息的controller中直接繼承調用就可以啦,但是并沒有根本解決我們的問題,我們還是需要寫重復代碼,在每個controller單獨獲取用戶信息,這是最優嘛?并不是!!!

其實呢springboot提供@ModelAttribute這個注解屬性使用這個通過參數注入就可獲取啦

我們把上面的稍微調整一下如:

@RestControllerpublic class BaseController { @Autowired private TokenService tokenService; @ModelAttribute public void userInfo(ModelMap modelMap, HttpServletRequest request) {String token = request.getAttribute('token').toString();User LoginUser = tokenService.decodeToken(token); modelMap.addAttribute('LoginUser', LoginUser);modelMap.addAttribute('userId', LoginUser.getUserId()); }}

然后在需要使用用戶信息的controller中進行參數映射就行啦

@ApiOperation(value = '用戶快過期優惠卷信息',tags = '優惠卷接口') @GetMapping('/expiredCoupon') public List<Coupon> userExpiredCoupon(@ModelAttribute('userId') @ApiParam(hidden = true) String userId){return couponService.getUserExpiredCoupon(userId); }@GetMapping('/info') @ApiOperation('獲取用戶信息') public User getUseInfo(@ModelAttribute('LoginUser') User user) {return user; }

這樣用戶信息通過形參直接注入到controller中,我們直接在請求中使用就可以啦

@ModelAttribute詳解

被@ModelAttribute注釋的方法會在此controller每個方法執行前被執行 標注在方法上面的注解,將方法返回的對象存儲在model中,該方法在這個控制器其他映射方法執行之前調用@ModelAttribute注釋一個方法的參數 從model中獲取參數@ModelAttribute('LoginUser') User user參數user的值來源于BaseControlleruserInfo()方法中的model屬性

具體更詳細使用參考 @ModelAttribute注解的使用總結

到此這篇關于SpringBoot @ModelAttribute 用法的文章就介紹到這了,更多相關SpringBoot @ModelAttribute 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲高清av| 蜜桃精品视频| 91亚洲成人| 中文在线资源| 日韩免费看片| 日韩国产综合| www成人在线视频| 91精品观看| 一本一道久久a久久| 婷婷综合福利| 欧美a一区二区| 日韩网站中文字幕| 99视频精品免费观看| 亚洲精品在线a| 麻豆精品蜜桃视频网站| 91日韩欧美| 午夜日韩在线| 涩涩涩久久久成人精品| 美日韩一区二区三区| 久久理论电影| 日韩在线麻豆| 日韩二区在线观看| 国产自产自拍视频在线观看 | 久久久9色精品国产一区二区三区| 久久影院一区| 欧美午夜三级| 欧美日韩免费观看视频| 久久国产福利| 国产999精品在线观看| 亚洲一区二区三区高清不卡| 亚洲一级大片| 人人香蕉久久| 国产麻豆一区| 国产亚洲福利| 福利一区和二区| 综合欧美精品| 亚洲精品一区三区三区在线观看| 亚洲精选成人| 亚洲爱爱视频| 美女视频一区在线观看| 国产精品嫩草99av在线| 在线天堂中文资源最新版| 日韩中文字幕区一区有砖一区 | 日本不卡一区二区| 亚洲国产专区校园欧美| 欧美激情精品| 日韩和欧美一区二区三区| 国产高清一区| 私拍精品福利视频在线一区| 免费在线播放第一区高清av| 亚洲啊v在线免费视频| 五月天久久777| 天堂网av成人| 亚洲伦乱视频| 久久久一本精品| 精品国产乱码久久久久久樱花| 婷婷综合一区| 亚洲精品1区| 欧美二区视频| 国产精品女主播一区二区三区| 香蕉精品久久| 国产专区一区| 激情五月综合| 欧美福利专区| 欧美一区=区| 日韩精品一区第一页| 一区二区国产在线| 日韩欧美中文字幕一区二区三区| 亚洲精品伦理| 国产欧美高清视频在线| 欧美黄页在线免费观看| a国产在线视频| 亚洲精品在线影院| 香蕉久久久久久久av网站| 亚洲人妖在线| 里番精品3d一二三区| 日韩av在线中文字幕| 久久久久久久久丰满| 亚洲欧美久久| 国产剧情在线观看一区| 91日韩免费| 蜜臀av在线播放一区二区三区 | 91精品国产成人观看| 1024精品一区二区三区| 日韩高清一区二区| 国产精品国产一区| 日韩一区二区三区免费| 亚洲欧美日韩国产一区| 国产极品模特精品一二| 91精品推荐| 欧美亚洲一区二区三区| 日本在线啊啊| 中文在线日韩| 一区二区三区视频免费观看| 亚洲精品亚洲人成在线观看| 国内揄拍国内精品久久| 国产精品毛片在线看| 美女视频一区在线观看| 蜜桃视频一区二区三区在线观看| 久久只有精品| 亚洲视频电影在线| 国产麻豆精品久久| 久久av在线| 欧美三级网址| 国产亚洲精品精品国产亚洲综合| 天堂日韩电影| 开心激情综合| 日韩三级久久| 丝袜亚洲另类欧美| 99久精品视频在线观看视频| 国产乱人伦精品一区| 蜜桃久久久久久| 久久精品国产亚洲夜色av网站| 欧美a级一区二区| 日韩国产精品久久久久久亚洲| 欧美日韩国产免费观看视频| 国产精品久久久久av蜜臀| 一区二区三区午夜视频| 亚洲一区免费| 午夜欧美在线| 亚洲精品一区二区在线看| 97se综合| 四虎成人av| 精品国产网站| 国内一区二区三区| 九九久久国产| 激情中国色综合| 国产精品久久久久蜜臀| 电影91久久久| 色乱码一区二区三区网站| 日韩国产激情| 久久夜夜操妹子| 国产一区二区三区不卡视频网站| 精品国内亚洲2022精品成人| 国产精东传媒成人av电影| 久久精品人人| 日本蜜桃在线观看视频| 久久在线免费| 天堂成人免费av电影一区| 中文字幕日韩高清在线| 欧美日韩亚洲一区二区三区在线 | 国产精品成人国产| 精品伊人久久| 精品一区二区三区亚洲| 岛国av在线播放| 99免费精品| 蜜臀精品久久久久久蜜臀| 国产日韩高清一区二区三区在线| 国产精品大片| av亚洲在线观看| 国产亚洲欧美日韩精品一区二区三区 | 免费在线成人| 91成人精品| 911精品国产| 亚洲黄色免费看| 蜜臀a∨国产成人精品| 麻豆精品久久久| 婷婷激情综合| 国产精品久久久久毛片大屁完整版 | 精品成人免费一区二区在线播放| 欧美一级专区| 精品视频久久| 丝袜美腿一区二区三区| 国产精品毛片一区二区在线看| 欧美日韩精品免费观看视频完整| 91亚洲无吗| 国产综合婷婷| 精品午夜视频| 日韩毛片网站| 九九综合九九| 日本午夜大片a在线观看| 欧美日韩亚洲一区在线观看| 久久中文字幕av| 美女视频黄久久| 日韩高清中文字幕一区| 激情综合亚洲| av高清不卡| 精品久久电影| 免费亚洲一区| 国产精品亲子伦av一区二区三区 | 中文无码久久精品| 91中文字幕精品永久在线| 视频一区日韩| 午夜在线一区| 91久久在线| 伊人久久亚洲美女图片| 色爱综合av| 亚洲精品一级二级| 麻豆国产在线| 日韩中文影院| 香蕉成人av| 日韩和的一区二在线| 国产亚洲一区二区手机在线观看| 国产成人免费精品| 麻豆视频在线观看免费网站黄 | 日韩激情网站| 国产亚洲欧美日韩在线观看一区二区| 日韩精彩视频在线观看| 国产精品主播| 97精品一区二区|