真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

前言

成都創(chuàng)新互聯(lián)專注骨干網(wǎng)絡(luò)服務(wù)器租用10多年,服務(wù)更有保障!服務(wù)器租用,四川移動(dòng)機(jī)房托管 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問。靈活、實(shí)現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。

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

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

一、首先來看下我們的Controller接口

  /**
   * 獲取用戶信息
   * @param token 微信登入者token
   * @param id 商品id
   * @return 商品詳細(xì)信息
   */
  @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類;下面來剖析這個(gè)類;

二、統(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 {

  /** 錯(cuò)誤碼 */
  private Integer code;
  /** 錯(cuò)誤信息 */
  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類包含了錯(cuò)誤碼、錯(cuò)誤信息、返回的對象json;

2.2枚舉類

從ResultResponse類中我們可以看出,錯(cuò)誤碼和錯(cuò)誤信息是一一對應(yīng)的,我們用一個(gè)枚舉類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,"請求參數(shù)錯(cuò)誤"),
  NOT_WX_LOGIN(1004,"非微信端登錄"),
  WX_LOGIN_PARAMS_ERROR(1005,"微信登錄code錯(cuò)誤"),
  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;
  }
}

我們可以在枚舉類中加入我們想要增加的錯(cuò)誤信息和錯(cuò)誤碼;

這樣就是一個(gè)完成的Java接口返回的模板了;

總結(jié)

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


當(dāng)前題目:Java接口統(tǒng)一樣式返回模板的實(shí)現(xiàn)
文章源于:http://weahome.cn/article/jsjcii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部