最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot項(xiàng)目維護(hù)全局json數(shù)據(jù)代碼實(shí)例

 更新時(shí)間:2020年02月26日 14:03:45   作者:---WeiGeH  
這篇文章主要介紹了Spring Boot項(xiàng)目維護(hù)全局json數(shù)據(jù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Spring Boot項(xiàng)目維護(hù)全局json數(shù)據(jù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

概述

過(guò)去 我們?cè)诿恳粋€(gè)方法中處理前端發(fā)過(guò)來(lái)的請(qǐng)求,需要自己構(gòu)造請(qǐng)求數(shù)據(jù),然后通過(guò)spring 提供的@ResponseBody 強(qiáng)制轉(zhuǎn)為JSON數(shù)據(jù)嗎,實(shí)際上出現(xiàn)了很多重復(fù)的代碼,我么亦可以通過(guò)構(gòu)造一個(gè)

工具類,實(shí)現(xiàn)只關(guān)注需要改變的數(shù)據(jù). 下面給出這個(gè)工具類.

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;
  }
}

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

就是一個(gè)普通的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();
  }

  /**
   * 部門(mén)更改
   * @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", "部門(mén)更新失敗");
    }
    return JsonMsg.success();
  }

  /**
   * 新增部門(mén)
   * @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();
  }

  /**
   * 查詢部門(mén)信息總頁(yè)碼數(shù)
   * @return
   */
  @RequestMapping(value = "/getTotalPages", method = RequestMethod.GET)
  @ResponseBody
  public JsonMsg getTotalPages(){

    //每頁(yè)顯示的記錄行數(shù)
    int limit = 5;
    //總記錄數(shù)
    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", "無(wú)部門(mén)信息");
  }

  /**
   * 分頁(yè)查詢:返回指定頁(yè)數(shù)對(duì)應(yīng)的數(shù)據(jù)
   * @param pageNo
   * @return
   */
  @RequestMapping(value = "/getDeptList", method = RequestMethod.GET)
  public ModelAndView getDeptList(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo){
    ModelAndView mv = new ModelAndView("departmentPage");
    //每頁(yè)顯示的記錄行數(shù)
    int limit = 5;
    //總記錄數(shù)
    int totalItems = departmentService.getDeptCount();
    int temp = totalItems / limit;
    int totalPages = (totalItems % limit== 0) ? temp : temp+1;
    //每頁(yè)的起始行(offset+1)數(shù)據(jù),如第一頁(yè)(offset=0,從第1(offset+1)行數(shù)據(jù)開(kāi)始)
    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;
  }
  /**
   * 查詢所有部門(mén)名稱
   * @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();
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • idea首次使用需要配置哪些東西

    idea首次使用需要配置哪些東西

    這篇文章主要介紹了idea首次使用需要配置哪些東西,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java數(shù)組的定義、初始化、及二維數(shù)組用法分析

    Java數(shù)組的定義、初始化、及二維數(shù)組用法分析

    這篇文章主要介紹了Java數(shù)組的定義、初始化、及二維數(shù)組用法,結(jié)合具體實(shí)例形式分析了java數(shù)組概念、功能、數(shù)組定義、靜態(tài)數(shù)組、動(dòng)態(tài)數(shù)組、二維數(shù)組等相關(guān)使用技巧,需要的朋友可以參考下
    2019-01-01
  • Spring boot 集成Dubbox的方法示例

    Spring boot 集成Dubbox的方法示例

    本篇文章主要介紹了Spring boot 集成Dubbox的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 深入了解Java線程池:從設(shè)計(jì)思想到源碼解讀

    深入了解Java線程池:從設(shè)計(jì)思想到源碼解讀

    這篇文章將從設(shè)計(jì)思想到源碼解讀,帶大家深入了解Java的線程池,文中的示例代碼講解詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的可以參考一下
    2021-12-12
  • 如何在Spring WebFlux的任何地方獲取Request對(duì)象

    如何在Spring WebFlux的任何地方獲取Request對(duì)象

    這篇文章主要介紹了如何在Spring WebFlux的任何地方獲取Request對(duì)象,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2021-01-01
  • Spring security如何實(shí)現(xiàn)記錄用戶登錄時(shí)間功能

    Spring security如何實(shí)現(xiàn)記錄用戶登錄時(shí)間功能

    這篇文章主要介紹了Spring security如何實(shí)現(xiàn)記錄用戶登錄時(shí)間功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 使用RestTemplate調(diào)用https接口跳過(guò)證書(shū)驗(yàn)證

    使用RestTemplate調(diào)用https接口跳過(guò)證書(shū)驗(yàn)證

    這篇文章主要介紹了使用RestTemplate調(diào)用https接口跳過(guò)證書(shū)驗(yàn)證,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • java中排序報(bào):Comparison method violates its general contract異常的解決

    java中排序報(bào):Comparison method violates its general contract異常的解

    這篇文章主要給大家介紹了關(guān)于java中排序報(bào):Comparison method violates its general contract異常的解決方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-06-06
  • ArrayList集合初始化及擴(kuò)容方式

    ArrayList集合初始化及擴(kuò)容方式

    這篇文章主要介紹了關(guān)于ArrayList集合初始化及擴(kuò)容方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring中的事務(wù)管理及實(shí)現(xiàn)方式解析

    Spring中的事務(wù)管理及實(shí)現(xiàn)方式解析

    這篇文章主要介紹了Spring中的事務(wù)管理及實(shí)現(xiàn)方式解析,Spring事務(wù)管理基于底層數(shù)據(jù)庫(kù)本身的事務(wù)處理機(jī)制,數(shù)據(jù)庫(kù)事務(wù)的基礎(chǔ),是掌握Spring事務(wù)管理的基礎(chǔ),這篇總結(jié)下Spring事務(wù),需要的朋友可以參考下
    2024-01-01

最新評(píng)論

尚义县| 巴林左旗| 武清区| 曲阜市| 枝江市| 尼玛县| 高雄市| 美姑县| 双桥区| 安化县| 龙山县| 集安市| 乾安县| 铜山县| 阿克苏市| 盘山县| 孙吴县| 文水县| 潞西市| 东乡县| 和林格尔县| 贵阳市| 盘山县| 祁阳县| 油尖旺区| 韶山市| 湘乡市| 松原市| 衡山县| 天祝| 河南省| 哈巴河县| 田阳县| 肥乡县| 肥东县| 昆明市| 宜春市| 台东县| 漳平市| 凤翔县| 西丰县|