欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java接口統(tǒng)一樣式返回模板的實現(xiàn)

 更新時間:2019年12月04日 10:03:09   作者:Axe_Lai  
這篇文章主要介紹了Java接口統(tǒng)一樣式返回模板的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

一開始,我們在寫項目的時候,前端要什么數據,我們就返回什么數據,每個接口也都寫得不一樣很亂;隨著前后端的分離;對于代碼規(guī)范的要求也越來越嚴謹;接口都是統(tǒng)一樣式的返回模板;

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

一、首先來看下我們的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類;下面來剖析這個類;

二、統(tǒng)一樣式返回模板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,"登錄狀態(tài)失效"),
   ;
  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接口返回的模板了;

總結

技術在不斷更新?lián)Q代,但是它的基礎沒有變,要想更好的維護項目,使得代碼更加的美觀和正規(guī),所有接口統(tǒng)一返回統(tǒng)一類是非常有必要的;

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

相關文章

  • idea設置@Author文件頭注釋的實現(xiàn)步驟

    idea設置@Author文件頭注釋的實現(xiàn)步驟

    本文主要介紹了idea設置@Author文件頭注釋的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Java LinkedList的實現(xiàn)原理圖文詳解

    Java LinkedList的實現(xiàn)原理圖文詳解

    今天小編就為大家分享一篇關于Java LinkedList的實現(xiàn)原理圖文詳解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Java實現(xiàn)儲存對象并按對象某屬性排序的幾種方法示例

    Java實現(xiàn)儲存對象并按對象某屬性排序的幾種方法示例

    這篇文章主要介紹了Java實現(xiàn)儲存對象并按對象某屬性排序的幾種方法,結合實例形式詳細分析了Java儲存對象并按對象某屬性排序的具體實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2020-05-05
  • 解析Java格式字符串的使用

    解析Java格式字符串的使用

    本文通過實例給大家介紹了java格式字符串的使用,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2022-02-02
  • SpingMvc復雜參數傳收總結

    SpingMvc復雜參數傳收總結

    這篇文章主要為大家介紹了SpingMvc復雜參數傳收總結,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 詳解Springboot-MyBatis配置-配置端口號與服務路徑(idea社區(qū)版2023.1.4+apache-maven-3.9.3-bin)

    詳解Springboot-MyBatis配置-配置端口號與服務路徑(idea社區(qū)版2023.1.4+apache-mav

    這篇文章主要介紹了Springboot-MyBatis配置-配置端口號與服務路徑(idea社區(qū)版2023.1.4+apache-maven-3.9.3-bin),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • java讀取http請求中的body實例代碼

    java讀取http請求中的body實例代碼

    下面小編就為大家?guī)硪黄猨ava讀取http請求中的body實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • 使用Autowired為什么會被IDEA警告最佳修改方法

    使用Autowired為什么會被IDEA警告最佳修改方法

    這篇文章主要介紹了使用Autowired為什么會被IDEA警告,應該怎么修改最佳,除了使用@Autowired以外,我們其實也有幾種好用的方式,使用@Resource替代@Autiwired方法是其中一種,只需要改變一個注解,這里就不展示了,需要的朋友可以參考下
    2023-02-02
  • MyBatis中正則使用foreach拼接字符串

    MyBatis中正則使用foreach拼接字符串

    這篇文章主要介紹了MyBatis中正則使用foreach拼接字符串,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java實現(xiàn)對中文字符串的排序功能實例代碼

    Java實現(xiàn)對中文字符串的排序功能實例代碼

    這篇文章主要介紹了Java實現(xiàn)中文字符串的排序功能實例代碼的相關資料,需要的朋友可以參考下
    2016-04-04

最新評論