电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

Spring Boot項目維護全局json數據代碼實例

瀏覽:4日期:2023-09-20 08:31:09

這篇文章主要介紹了Spring Boot項目維護全局json數據代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

概述

過去 我們在每一個方法中處理前端發過來的請求,需要自己構造請求數據,然后通過spring 提供的@ResponseBody 強制轉為JSON數據嗎,實際上出現了很多重復的代碼,我么亦可以通過構造一個

工具類,實現只關注需要改變的數據. 下面給出這個工具類.

public class JsonMsg { private int code; private String msg; private Map<String, Object> extendInfo = new HashMap<>(); public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public Map<String, Object> getExtendInfo() { return extendInfo; } public void setExtendInfo(Map<String, Object> extendInfo) { this.extendInfo = extendInfo; } public static JsonMsg success(){ JsonMsg res = new JsonMsg(); res.setCode(100); res.setMsg('操作成功!'); return res; } public static JsonMsg fail(){ JsonMsg res = new JsonMsg(); res.setCode(200); res.setMsg('操作失敗!'); return res; } public JsonMsg addInfo(String key, Object obj){ this.extendInfo.put(key, obj); return this; }}

下面我給出具體的使用示例:

就是一個普通的CRUD代碼

package com.hrms.controller;import com.hrms.bean.Department;import com.hrms.service.DepartmentService;import com.hrms.util.JsonMsg;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*;import org.springframework.web.servlet.ModelAndView;import java.util.List;/** * @author GenshenWang.nomico * @date 2018/3/8. */@Controller@RequestMapping(value = '/hrms/dept')public class DepartmentController { @Autowired DepartmentService departmentService; /** * 刪除 * @param deptId * @return */ @RequestMapping(value = '/delDept/{deptId}', method = RequestMethod.DELETE) @ResponseBody public JsonMsg deleteDept(@PathVariable('deptId') Integer deptId){ int res = 0; if (deptId > 0){ res = departmentService.deleteDeptById(deptId); } if (res != 1){ return JsonMsg.fail().addInfo('del_dept_error', '刪除異常'); } return JsonMsg.success(); } /** * 部門更改 * @param deptId * @param department * @return */ @RequestMapping(value = '/updateDept/{deptId}', method = RequestMethod.PUT) @ResponseBody public JsonMsg updateDeptById(@PathVariable('deptId') Integer deptId, Department department){ int res = 0; if (deptId > 0){ res = departmentService.updateDeptById(deptId, department); } if (res != 1){ return JsonMsg.fail().addInfo('update_dept_error', '部門更新失敗'); } return JsonMsg.success(); } /** * 新增部門 * @param department * @return */ @RequestMapping(value = '/addDept', method = RequestMethod.PUT) @ResponseBody public JsonMsg addDept(Department department){ int res = departmentService.addDept(department); if (res != 1){ return JsonMsg.fail().addInfo('add_dept_error', '添加異常!'); } return JsonMsg.success(); } /** * 查詢部門信息總頁碼數 * @return */ @RequestMapping(value = '/getTotalPages', method = RequestMethod.GET) @ResponseBody public JsonMsg getTotalPages(){ //每頁顯示的記錄行數 int limit = 5; //總記錄數 int totalItems = departmentService.getDeptCount(); int temp = totalItems / limit; int totalPages = (totalItems % limit== 0) ? temp : temp+1; return JsonMsg.success().addInfo('totalPages', totalPages); } /** * */ @RequestMapping(value = '/getDeptById/{deptId}', method = RequestMethod.GET) @ResponseBody public JsonMsg getDeptById(@PathVariable('deptId') Integer deptId){ Department department = null; if (deptId > 0){ department = departmentService.getDeptById(deptId); } if (department != null){ return JsonMsg.success().addInfo('department', department); } return JsonMsg.fail().addInfo('get_dept_error', '無部門信息'); } /** * 分頁查詢:返回指定頁數對應的數據 * @param pageNo * @return */ @RequestMapping(value = '/getDeptList', method = RequestMethod.GET) public ModelAndView getDeptList(@RequestParam(value = 'pageNo', defaultValue = '1') Integer pageNo){ ModelAndView mv = new ModelAndView('departmentPage'); //每頁顯示的記錄行數 int limit = 5; //總記錄數 int totalItems = departmentService.getDeptCount(); int temp = totalItems / limit; int totalPages = (totalItems % limit== 0) ? temp : temp+1; //每頁的起始行(offset+1)數據,如第一頁(offset=0,從第1(offset+1)行數據開始) int offset = (pageNo - 1)*limit; List<Department> departments = departmentService.getDeptList(offset, limit); mv.addObject('departments', departments).addObject('totalItems', totalItems).addObject('totalPages', totalPages).addObject('curPageNo', pageNo); return mv; } /** * 查詢所有部門名稱 * @return */ @RequestMapping(value = '/getDeptName', method = RequestMethod.GET) @ResponseBody public JsonMsg getDeptName(){ List<Department> departmentList = departmentService.getDeptName(); if (departmentList != null){ return JsonMsg.success().addInfo('departmentList', departmentList); } return JsonMsg.fail(); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | EPDM密封胶条-EPDM密封垫片-EPDM生产厂家 | 浙江清风侠环保设备有限公司| 天津蒸汽/热水锅炉-电锅炉安装维修直销厂家-天津鑫淼暖通设备有限公司 | 电镀整流器_微弧氧化电源_高频电解电源_微弧氧化设备厂家_深圳开瑞节能 | 超声波流量计_流量标准装置生产厂家 _河南盛天精密测控 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 校车_校车价格_19座幼儿园校车_幼儿园校车_大鼻子校车 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 全温度恒温培养摇床-大容量-立式-远红外二氧化碳培养箱|南荣百科 | 礼堂椅厂家|佛山市艺典家具有限公司 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 上海道勤塑化有限公司| 品牌广告服务平台,好排名,好流量,好生意。 | 深圳办公室装修,办公楼/写字楼装修设计,一级资质 - ADD写艺 | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 恒湿机_除湿加湿一体机_恒湿净化消毒一体机厂家-杭州英腾电器有限公司 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 回转炉,外热式回转窑,回转窑炉-淄博圣元窑炉工程有限公司 | 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 无硅导热垫片-碳纤维导热垫片-导热相变材料厂家-东莞市盛元新材料科技有限公司 | 广州展览设计公司_展台设计搭建_展位设计装修公司-众派展览装饰 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 刮板输送机,粉尘加湿搅拌机,螺旋输送机,布袋除尘器 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | U拓留学雅思一站式服务中心_留学申请_雅思托福培训 | 联系我们-腾龙公司上分客服微信19116098882 | 平面钻,法兰钻,三维钻-山东兴田阳光智能装备股份有限公司 | 郑州爱婴幼师学校_专业幼师培训_托育师培训_幼儿教育培训学校 | 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | 注塑_注塑加工_注塑模具_塑胶模具_注塑加工厂家_深圳环科 | 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 |