Spring Boot 中关于 json 返回数据格式的简单封装

说明 :getter,setter 使用的是lombok,所以直接使用的 @Data

封装方法:

package com.imooc.demo.common;

import lombok.Data;

@Data
public class JsonResult<T> {
    private Long code;
    private String msg;
    private T data;

    protected JsonResult() {
    }

    protected JsonResult(long code, String message, T data) {
        this.code = code;
        this.msg = message;
        this.data = data;
    }

    /**
     * 成功返回结果
     * @param  message 提示信息
     */
    public static <T> JsonResult<T> success(String message) {
        return new JsonResult<T>(200, message, null);
    }

    /**
     * 成功返回结果
     *
     * @param data 获取的数据
     */
    public static <T> JsonResult<T> success(T data) {
        return new JsonResult<T>(200, "操作成功", data);
    }

    /**
     * 成功返回结果
     *
     * @param data 获取的数据
     * @param  message 提示信息
     */
    public static <T> JsonResult<T> success(T data, String message) {
        return new JsonResult<T>(200, message, data);
    }

    /**
     * 失败返回结果
     */
    public static <T> JsonResult<T> error() {
        return new JsonResult<T>(400, "操作失败", null);
    }

    /**
     * 失败返回结果
     */
    public static <T> JsonResult<T> error(String message) {
        return new JsonResult<T>(400, message, null);
    }


}

使用示例:

package com.imooc.demo.controller;


import com.imooc.demo.common.JsonResult;
import com.imooc.demo.entity.User;
import com.imooc.demo.service.impl.UserServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 

* 前端控制器 *

* * @author luyuan * @since 2019-11-12 */
@RestController @RequestMapping("/user") public class UserController { @Autowired private UserServiceImpl userService; @RequestMapping("/list") public JsonResult<List<User>> getAllUsers(){ List<User> users = userService.getAllUsers(); return JsonResult.success(users,"获取成功"); } @RequestMapping("/create") public JsonResult create(@RequestBody User user){ JsonResult jsonResult; int result = userService.createUser(user); if (result==1) {// 创建成功 jsonResult = JsonResult.success("创建成功"); }else{// 创建失败 jsonResult = JsonResult.error("创建失败"); } return jsonResult; } }

你可能感兴趣的:(SpringBoot)