1. 程式人生 > 程式設計 >Java介面統一樣式返回模板的實現

Java介面統一樣式返回模板的實現

前言

一開始,我們在寫專案的時候,前端要什麼資料,我們就返回什麼資料,每個介面也都寫得不一樣很亂;隨著前後端的分離;對於程式碼規範的要求也越來越嚴謹;介面都是統一樣式的返回模板;

下面,接受一種我之前用過的返回模板;

一、首先來看下我們的Controller介面

  /**
   * 獲取使用者資訊
   * @param token 微信登入者token
   * @param id 商品id
   * @return 商品詳細資訊
   */
  @PostMapping(value = "getUserInfo")
  @ResponseBody
  public ResultResponse getUserInfo(
      @RequestParam(value = "token") String token){
    ResultResponse result = new ResultResponse();
    //這裡獲取使用者資訊的類就不貼出來了
    User user = userService.getUserByToken(token);
    result.setData(user );
    return result.setStatus(ResponseCode.SUCCESS);
  }

我們可以看出,介面返回的是ResultResponse類;下面來剖析這個類;

二、統一樣式返回模板ResultResponse剖析

2.1ResultResponse類:

package com.himo.common;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

/**
 * @Author: laixiansong
 * @Description: http請求
 * @Vesion: 1.0.0
 * @Date: 2017/10/17
 */
@Data
public class ResultResponse<T> {

  /** 錯誤碼 */
  private Integer code;
  /** 錯誤資訊 */
  private String msg;

  @JsonInclude(JsonInclude.Include.NON_NULL)
  private T data;

  public void setData(T data) {
    this.data = data;
  }
  public ResultResponse setStatus(ResponseCode responseCode){
    this.code = responseCode.getCode();
    this.msg = responseCode.getDesc();
    return this;
  }
  public String getMsg() {
    return msg;
  }
}

ResultResponse類包含了錯誤碼、錯誤資訊、返回的物件json;

2.2列舉類

從ResultResponse類中我們可以看出,錯誤碼和錯誤資訊是一一對應的,我們用一個列舉類ResponseCode來封裝;

ResponseCode:

package com.himo.common;
/**
 * @Author: laixiansong
 * @Description:
 * @Vesion: 1.0.0
 * @Date: 2017/10/17
 */
public enum ResponseCode {
  SUCCESS(0,"SUCCESS"),ERROR(1,"ERROR"),REQUEST_PARAMS_ERROR(1003,"請求引數錯誤"),NOT_WX_LOGIN(1004,"非微信端登入"),WX_LOGIN_PARAMS_ERROR(1005,"微信登入code錯誤"),NO_LOGIN(1006,"登入狀態失效"),;
  private final int code;
  private final String desc;
  ResponseCode(int code,String desc){
    this.code = code;
    this.desc = desc;
  }
  public int getCode() {
    return code;
  }
  public String getDesc() {
    return desc;
  }
}

我們可以在列舉類中加入我們想要增加的錯誤資訊和錯誤碼;

這樣就是一個完成的Java介面返回的模板了;

總結

技術在不斷更新換代,但是它的基礎沒有變,要想更好的維護專案,使得程式碼更加的美觀和正規,所有介面統一返回統一類是非常有必要的;

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。