postman-接口調(diào)試技巧(一)

一.接口規(guī)則

我們在開發(fā)APP或者web網(wǎng)頁過程中一般有前端,后臺兩類程序員;

后臺負(fù)責(zé)業(yè)務(wù)邏輯,前端負(fù)責(zé)UI和展現(xiàn)后臺的業(yè)務(wù)邏輯;

通常前端和后臺的交流通過約定好的數(shù)據(jù)格式進(jìn)行交流-這約定的格式通常由后臺制定;

但是一個好的接口規(guī)則勢必讓調(diào)試事半功倍;

以App開發(fā)為例,通常后臺有規(guī)則有如下,必定返回字段,定義基礎(chǔ)信息code,識別碼。識別碼對應(yīng)的提示信息msg,定義具體的信息業(yè)務(wù)信息data,data中一般不能為null,有字符串,對象,數(shù)組,對象3鐘方式返回,當(dāng)然格式可以變化隨業(yè)務(wù)邏輯變化而變化!
1.后臺可以優(yōu)雅的抽象一個響應(yīng)業(yè)務(wù)邏輯基類

/**
 * @ClassName: CommonResponse
 * @Description: 返回信息類
 * @author lirain
 * @date 2016年10月18日 上午11:45:06
 *
 */
public class CommonResponse {

    private Integer code;        //返回碼
    private String msg;            //返回提示信息
    private Object data;        //返回數(shù)據(jù)

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

}

2.返回類型基本也就按規(guī)則固定下來了

 //返回類型一:對象
{
      "code": 0,
      "msg": "成功",
      "data": {
             "id": 1,
             "name": "李先生",
             "tel": "15200000000"
}
 //返回類型二:數(shù)組
{
    "code": 0,
    "msg": "成功",
    "data": [
        {
            "id": 1,
            "name": "李先生",
            "tel": "15200000000"
        },
        {
            "id": 2,
            "name": "張先生",
            "tel": "15200000001"
        }
    ]
}
//返回類型三:字符串--一般操作很少這樣用
{
    "code": 0,
    "msg": "成功",
    "data":""
}

//一般后臺約定成功的code都為0,失敗為1,異常為-1,其余業(yè)務(wù)邏輯碼,視情況而定,
//沒有具體業(yè)務(wù)邏輯返回時,一般為空對象或數(shù)組,避免null這類空返回
//后面將說道,這樣約定的好處!
{
    "code": 1,
    "msg": "用戶不存在",
    "data":{}
}

//異常提示
{
    "code": -1,
    "msg": "服務(wù)器消息異常",
    "data":{}
}

3.通過這種規(guī)范化約定后,前端也能定義一個基礎(chǔ)類,保持code,msg,data,3個字段不變,其中data定義為泛型;以android代碼為例,代碼表述如下,

**
 * Created by lichuanbei on 2017/8/1.
 * <p>
 * 功能描述:接口調(diào)用返回數(shù)據(jù)標(biāo)準(zhǔn)格式基類
 */

public class BaseResponseEntity<T>{
    private int code;
    private String msg;
    private T data;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

   public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}

用戶基本信息返回對象為

/**
 * Created by lichuanbei on 2017/8/1.
 * <p>
 * 功能描述:用戶基礎(chǔ)類
 */

public class UserEntity {
    private String id;
    private String name;
    private String tel;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }
}

4.最終當(dāng)前端調(diào)用登錄接口返回用戶信息時,邏輯有resuful風(fēng)格設(shè)計代碼接口表述:注意接口中的BaseResponseEntity<UserEntity>,實際上,基于既定規(guī)則,code,msg,data必定返回,android的代碼也就采用同樣的解析手法去接受每個接口返回的數(shù)據(jù)了

 /**
     * 登錄接口
     * mobile必傳 password必傳
     * @param map
     * @return
     */
    @FormUrlEncoded
    @POST("/user/login")
    Observable<BaseResponseEntity<UserEntity>> login(@FieldMap Map<String, String> map);

二.對接口的測試

1.接口一旦確定后,后臺必定會有基礎(chǔ)測試,通過后,則直接交給前端處理展示;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,037評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 引言 秋高氣爽,天氣轉(zhuǎn)涼,正是學(xué)習(xí)工作做的好時候。(~ ̄▽ ̄)~~(~ ̄▽ ̄)~ 我是個phper最近在寫微信支付...
    恩就是這個名閱讀 8,226評論 2 15
  • 前言 兵馬未動,糧草先行。在一款A(yù)PP產(chǎn)品的各個版本迭代中,兵馬的啟動指的是真正開始敲代碼的時候,糧草先行則是指前...
    listen2code閱讀 18,224評論 51 220
  • 2016年11月10日星期四 18點07分 許是少了負(fù)擔(dān),您變得喜歡趕集了,到離家十五里的寶山鎮(zhèn),偶爾也到新房子。...
    悅者閱讀 303評論 1 4

友情鏈接更多精彩內(nèi)容