版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
實項操目JavaEE框架應用開發(fā)(SpringBoot+VueJS)工作單元四實現(xiàn)用戶和角色管理接口CHAPTERFOUR任務6獲取用戶信息與角色列表接口任務分析本任務完成獲取用戶信息與角色列表的接口功能。開發(fā)人員編寫的接口輸入和返回值描述如下,此接口主要用于在新增用戶時返回角色列表數(shù)據(jù)roles,在修改用戶時返回當前用戶數(shù)據(jù)data和用戶角色對應關系列表roleIds。修改用戶數(shù)據(jù)的接口功能詳情描述URL地址HTTP請求方式支持格式輸入?yún)?shù)輸出返回值/system/user/{userId},/system/user/GETJSONuserId{"msg":"操作成功","code":200,"roleIds":[1],"data":{"createBy":"admin","createTime":"2018-03-1603:33:00","updateBy":"ry","updateTime":"2020-03-1509:33:47","remark":"管理員","userId":1,"userName":"admin","nickName":"alex","userType":"00","email":"alex@163.com","phonenumber":,"sex":"1","avatar":"/mmopen/vi_32/1yzTKJKIfurhDI29RqibEicNOoH0WiaCuKb6jWppVu4uzWovO0d1ICAwuW4rB4zfUxVvGHfNuxXLHu44t3yBkgbicQ/132","password":"$2a$10$boXFAiZ4OdtZiT2owx.xx.F848I4rh4JCQQDvgAaEwiktcFRh8Ile","status":"0","delFlag":"0","loginIp":"","loginDate":"2018-03-16T03:33:00.000+00:00"},修改用戶數(shù)據(jù)的接口功能詳情描述URL地址HTTP請求方式支持格式輸入?yún)?shù)輸出返回值/system/user/{userId},/system/user/GETJSONuserId"roles":[{"roleId":1,"roleName":"管理員","roleKey":"admin","roleSort":1,"dataScope":"1","status":"0","delFlag":"0","createBy":"admin","createTime":"2018-03-16T03:33:00.000+00:00","updateBy":"ry","updateTime":"2018-03-16T03:33:00.000+00:00","remark":"管理員"}]}任務實施步驟1.編寫控制層代碼步驟2.編寫用戶業(yè)務層代碼步驟3.編寫角色業(yè)務層代碼步驟4.編寫角色數(shù)據(jù)控制層代碼步驟5.運行調(diào)試步驟1編寫控制層代碼在SysUserController類中增加getInfo方法,業(yè)務邏輯調(diào)用roleService.selectRoleAll方法返回角色列表數(shù)據(jù),調(diào)用userService.selectUserById方法返回用戶信息數(shù)據(jù),調(diào)用roleService.selectRoleListByUserId方法返回用戶角色映射關系列表。@AutowiredprivateSysRoleServiceroleService;
/***根據(jù)用戶編號獲取詳細信息*/@GetMapping(value={"/","/{userId}"})publicRestResultgetInfo(@PathVariable(value="userId",required=false)LonguserId){RestResultajax=RestResult.success();ajax.put("roles",roleService.selectRoleAll());if(StringUtils.isNotNull(userId)){ajax.put(RestResult.DATA_TAG,userService.selectUserById(userId));ajax.put("roleIds",roleService.selectRoleListByUserId(userId));}returnajax;}步驟2編寫用戶業(yè)務層代碼1.修改SysUserService接口,實現(xiàn)步驟1中的selectUserById方法。/***通過用戶ID查詢用戶*@paramuserId用戶ID*@return用戶對象信息*/SysUserselectUserById(LonguserId);2.在SysUserServiceImpl中增加對應的實現(xiàn)方法:@OverridepublicSysUserselectUserById(LonguserId){ SysUsersysuser=newSysUser(); sysuser.setUserId(userId); sysuser.setDelFlag("0"); returnsysUserRepository.findOne(Example.of(sysuser)).get();}步驟3編寫角色業(yè)務層代碼1.在service包下新增SysRoleService接口,實現(xiàn)步驟1中的selectRoleAll和selectRoleListByUserId方法。packageedu.friday.service;importedu.friday.model.SysRole;importjava.util.List;/***角色業(yè)務層接口*/publicinterfaceSysRoleService{List<SysRole>selectRoleAll();List<Long>selectRoleListByUserId(LonguserId);}2.在impl子包下新增SysRoleServiceImpl實現(xiàn)類,SysRoleServiceImpl中增加對應的實現(xiàn)方法:packageedu.friday.service.impl;importedu.friday.model.SysRole;importedu.friday.repository.SysRoleRepository;importedu.friday.service.SysRoleService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importjava.util.List;
/***角色表業(yè)務層*/@ServicepublicclassSysRoleServiceImplimplementsSysRoleService{@AutowiredSysRoleRepositorysysRoleRepository;/***查詢所有角色*@return角色列表*/@OverridepublicList<SysRole>selectRoleAll(){returnsysRoleRepository.findAll();}/***根據(jù)用戶ID獲取角色選擇框列表*@paramuserId用戶ID*@return選中角色ID列表*/@OverridepublicList<Long>selectRoleListByUserId(LonguserId){returnsysRoleRepository.selectRoleIdsByUserId(userId);}}步驟4編寫角色數(shù)據(jù)控制層代碼在repository包下新增SysRoleRepository接口,增加步驟3中的selectRoleIdsByUserId方法。packageedu.friday.repository;importedu.friday.model.SysRole;importorg.springframework.data.jpa.repository.JpaRepository;importorg.springframework.data.jpa.repository.Query;importorg.springframework.data.repository.query.Param;importorg.springframework.stereotype.Repository;importjava.util.List;/***角色表數(shù)據(jù)層*/@RepositorypublicinterfaceSysRoleRepositoryextendsJpaRepository<SysRole,Long>{finalStringJOIN_USER_ROLE="leftjoinsys_user_roleuronur.role_id=r.role_id";finalStringJOIN_USER="leftjoinsys_useruonu.user_id=ur.user_id";
@Query(value="selectr.role_idfromsys_roler"+JOIN_USER_ROLE+JOIN_USER+"WHEREr.del_flag='0'andu.user_id=:userId",nativeQuery=true)List<Long>selectRoleIdsByUserId(@Param("userId")LonguserId);}步驟5運行調(diào)試Postman中測試獲取角色列表的API接口:選擇GET模式,url輸入:http://localhost:8080/system/user/,單擊'Send'按鈕,返回角色列表數(shù)據(jù)。Postman中測試獲取用戶信息和用戶角色對應管理列表的API接口:選擇GET模式,url輸入:http://localhost:8080/system/user/1,單擊'Send'按鈕,返回當前用戶信息和角色列表數(shù)據(jù)。任務評價技能點知識點自我評價(不熟悉/基本掌握/熟練掌握/靈活運用)完成數(shù)據(jù)的多表關聯(lián)查詢功能數(shù)據(jù)庫左外連接拓展練習仿照任務6的操作步驟實現(xiàn)獲取角色編號和修改角色狀態(tài)接口功能:接口功能HTTP請求方式URL地址支持格式根據(jù)角色編號獲取詳細信息GET/system/role/{roleId}JSON修改角色狀態(tài)PUT/system/role/changeStatusJSON1.根據(jù)角色編號獲取角色詳細信息Postman中選擇GET模式,url輸入:http://localhost:8080/system/role/1,單擊'Send'按鈕,運行結(jié)果如圖:2.修改角色是否管理員Postman中選擇PUT模式,url輸入:http://localhost:8080/system/role/changeStat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年西烏珠穆沁旗應急管理局招聘備考題庫及答案詳解參考
- 南寧市科技館2025年外聘人員招聘備考題庫及一套參考答案詳解
- 信息技術服務質(zhì)量管理制度
- 企業(yè)風險管理內(nèi)部控制制度
- 2026年西南醫(yī)科大學附屬醫(yī)院關于招聘放射科登記員的備考題庫及參考答案詳解一套
- 2026年清遠市清新區(qū)衛(wèi)生健康局下屬事業(yè)單位公開招聘專業(yè)技術人員58人備考題庫及一套答案詳解
- 2026年浙江中外運有限公司溫州分公司招聘備考題庫含答案詳解
- 企業(yè)環(huán)境與職業(yè)健康管理制度
- 中學學生社團管理團隊建設制度
- 2026年機械工業(yè)備考題庫研究院校園招聘34人備考題庫及答案詳解參考
- 6.2 中位數(shù)與箱線圖 教學設計(2課時)2025-2026學年數(shù)學北師大版八年級上冊
- 2025年家庭投資理財規(guī)劃:科學配置與穩(wěn)健增值指南
- 杜氏肌營養(yǎng)不良運動功能重建方案
- 2026貴州大數(shù)據(jù)產(chǎn)業(yè)集團有限公司第一次招聘155人模擬筆試試題及答案解析
- 呼吸內(nèi)科主任談學科建設
- 腫瘤藥物給藥順序課件
- 海南計算機與科學專升本試卷真題及答案
- 券商投行部述職報告
- 企業(yè)安全一把手授課課件
- 金風-綠電新政下風電資產(chǎn)產(chǎn)銷一體新范式
- 學校中層干部述職報告會
評論
0/150
提交評論