SSM練手-增刪改查-4-返回JSON數據_后台


本節學會使用如何將數據改為JSON,傳送到前台。

為什么用JSON?

當Android,IOS, 瀏覽器向服務器發送請求數據的時候,若后台返回的是JSON數據,這三者均易解析數據,體現了平台無關性。

使用步驟:

1 加入所需要的jar包依賴:

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.8.8.1</version>
</dependency>

2 后台代碼改為接口的形式,@ResponseBody即可以將數據變為JSON串的形式:

/**
     * 分頁查詢
     * @param pageNo 頁碼
     * @return
     */
    //返回JSON
    @RequestMapping(value = {"/emp/list"}, method = {RequestMethod.GET})
    @ResponseBody
    public PageInfo getEmpList(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo){

        PageHelper.startPage(pageNo, 5);
        List<Employee> employeeList = employeeService.getAll();
        PageInfo pageInfo = new PageInfo(employeeList, 5);
        return pageInfo;
    }

返回結果如下:

{"pageNum":5,"pageSize":5,"size":5,"startRow":21,"endRow":25,"total":1001,"pages":201,
"list":[{"empId":21,"empName":"c36ab","gender":"M","eamil":"c36ab@qq.com","dId":1,"department":{"deptId":1,"deptName":"開發部"}},
{"empId":22,"empName":"d36f0","gender":"M","eamil":"d36f0@qq.com","dId":1,"department":{"deptId":1,"deptName":"開發部"}},
{"empId":23,"empName":"8d86c","gender":"M","eamil":"8d86c@qq.com","dId":1,"department":{"deptId":1,"deptName":"開發部"}},
{"empId":24,"empName":"21049","gender":"M","eamil":"21049@qq.com","dId":1,"department":{"deptId":1,"deptName":"開發部"}},
{"empId":25,"empName":"df993","gender":"M","eamil":"df993@qq.com","dId":1,"department":{"deptId":1,"deptName":"開發部"}}],
"prePage":4,"nextPage":6,"isFirstPage":false,"isLastPage":false,"hasPreviousPage":true,"hasNextPage":true,"navigatePages":5,"navigatepageNums":[3,4,5,6,7],"navigateFirstPage":3,"navigateLastPage":7,"firstPage":3,"lastPage":7}

3 優化,帶有返回信息的代碼:

信息類:Msg.java

package com.wgs.domain;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by GenshenWang.nomico on 2017/6/9.
 */
public class Msg {
    private int code;
    private String msg;
    private Map<String, Object> extendInfo = new HashMap<>();


    public static Msg success(){
        Msg result = new Msg();
        result.setCode(100);
        result.setMsg("操作成功");
        return result;
    }

    public static Msg fail(){
        Msg result = new Msg();
        result.setCode(200);
        result.setMsg("操作失敗");
        return result;
    }

    public Msg add(String key, Object value){
        this.getExtendInfo().put(key, value);
        return this;
    }

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

接口:

 //返回JSON
    @RequestMapping(value = {"/emp/list"}, method = {RequestMethod.GET})
    @ResponseBody
    public Msg getEmpListWithJson(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo){

        PageHelper.startPage(pageNo, 5);
        List<Employee> employeeList = employeeService.getAll();
        PageInfo pageInfo = new PageInfo(employeeList, 5);
        return Msg.success().add("pageInfo", pageInfo);
    }

返回結果:

{
"code":100,
"msg":"操作成功",
"extendInfo":{
        "pageInfo":{"pageNum":5,"pageSize":5,"size":5,"startRow":21,"endRow":25,"total":1001,"pages":201,
              "list":[{"empId":21,"empName":"c36ab","gender":"M","eamil":"c36ab@qq.com","dId":1,"department":{"deptId":1,"deptName":"開發部"}},{"empId":22,"empName":"d36f0","gender":"M","eamil":"d36f0@qq.com","dId":1,"department":{"deptId":1,"deptName":"開發部"}},{"empId":23,"empName":"8d86c","gender":"M","eamil":"8d86c@qq.com","dId":1,"department":{"deptId":1,"deptName":"開發部"}},{"empId":24,"empName":"21049","gender":"M","eamil":"21049@qq.com","dId":1,"department":{"deptId":1,"deptName":"開發部"}},{"empId":25,"empName":"df993","gender":"M","eamil":"df993@qq.com","dId":1,"department":{"deptId":1,"deptName":"開發部"}}],"prePage":4,"nextPage":6,"isFirstPage":false,"isLastPage":false,"hasPreviousPage":true,"hasNextPage":true,"navigatePages":5,"navigatepageNums":[3,4,5,6,7],"navigateFirstPage":3,"navigateLastPage":7,"firstPage":3,"lastPage":7}}}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM