如何使用springboot实现统一JSON格式的接口返回结果

这篇文章主要介绍了如何使用spring boot实现统一JSON格式的接口返回结果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

张北ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

第一步,定义好JavaBean。

package com.yclouds.myhelper.web.response;
 
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yclouds.myhelper.web.error.code.BaseEnumError;
import java.io.Serializable;
import lombok.Data;
 
/**
 * 所有服务统一响应数据格式
 *
 * @author ye17186
 * @version 2019/2/15 14:40
 */
@Data
public class ApiResp<T> implements Serializable {
 
  private static final long serialVersionUID = 9211889136173018364L;
 
  /**
   * 正常响应码
   */
  private static final int SUCCESS_CODE = 0;
 
  /**
   * 正常响应消息
   */
  private static final String SUCCESS_MSG = "SUCCESS";
 
  /**
   * 错误码
   */
  private int code = SUCCESS_CODE;
 
  /**
   * 错误信息
   */
  private String msg = SUCCESS_MSG;
 
  /**
   * 响应内容,默认为null
   */
  private T data = null;
 
  /**
   * 是否的正常响应
   *
   * @return true=正常;false=异常
   */
  @JsonIgnore
  public boolean isOK() {
    return code == SUCCESS_CODE;
  }
 
  /**
   * 无data的正常返回
   */
  public static ApiResp retOK() {
    return new ApiResp();
  }
 
  /**
   * 有data的正常返回
   *
   * @param data data内容
   * @param <T> data类型
   */
  public static <T> ApiResp<T> retOK(T data) {
    ApiResp<T> response = new ApiResp<>();
    response.setData(data);
    return response;
  }
 
  /**
   * 无data的失败返回
   *
   * @param error 错误类型
   */
  public static ApiResp retFail(BaseEnumError error) {
    return retFail(error.getCode(), error.getMsg());
  }
 
  /**
   * 有data的失败返回
   *
   * @param error 错误类型
   * @param data 详细错误信息
   */
  public static <T> ApiResp<T> retFail(BaseEnumError error, T data) {
    return retFail(error.getCode(), error.getMsg(), data);
  }
 
  /**
   * 无data的失败返回
   *
   * @param code 错误码
   * @param msg 错误信息
   */
  public static <T> ApiResp<T> retFail(int code, String msg) {
    ApiResp<T> response = new ApiResp<>();
    response.setCode(code);
    response.setMsg(msg);
    return response;
  }
 
  /**
   * 有data的失败返回
   * <br>
   * 失败返回的场景不多,所以没有严格要求T泛型
   *
   * @param code 错误码
   * @param msg 错误信息
   */
  public static <T> ApiResp<T> retFail(int code, String msg, T data) {
    ApiResp<T> response = new ApiResp<>();
    response.setCode(code);
    response.setMsg(msg);
    response.setData(data);
    return response;
  }
}

第二步,在Controller中使用

  @GetMapping("/test1")
  public ApiResp test1() {
 
    return ApiResp.retOK("Hello World");
  }
 
  @GetMapping("/test2")
  public ApiResp test2() {
 
    return ApiResp.retFail(BaseEnumError.SYSTEM_NO_LOGIN);
  }

可以在Postman查看具体的响应内容如下:

如何使用spring boot实现统一JSON格式的接口返回结果

如何使用spring boot实现统一JSON格式的接口返回结果

当然,ApiResp中的泛型,也可以使用复杂的数据对象。实际开发中,每种错误响应都有自己的响应码code,和错误信息msg,示例中统一定义了一个BaseEnumError的枚举类,具体内容可参照我的github项目https://github.com/ye17186/myhelper-spring-boot-starter

感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用spring boot实现统一JSON格式的接口返回结果”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!

本文题目:如何使用springboot实现统一JSON格式的接口返回结果
文章来源:https://www.cdcxhl.com/article0/pesooo.html

成都网站建设公司_创新互联,为您提供网站排名关键词优化ChatGPT企业网站制作品牌网站建设虚拟主机

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设