介面開發使用規則
業務術語:
請求:通過http協議把需要傳輸的資料傳送給接收方的過程。
返回:根據得到的資料處理完成後,將處理完成的結果反饋給接收方。
敏感詞:帶有敏感政治傾向,暴力傾向,不健康色彩或不文明的詞。
特殊字元:特殊字元包括:^ | $ # 等。
操作結果:成功失敗,成功返回結果,失敗返回結果錯誤資訊。
操作流程:執行之前,執行之後,正在執行。
介面編寫規則:
1. 所有的介面必須包含method和version引數。
2. 所有的介面增加了版本號管理,以便適應多個不同版本客戶端的使用。
3. 統一的介面呼叫方式,減少切換思維導致編碼速度下降。
4. 介面返回結果統一使用標準的json格式,暫時不考慮使用xml格式。
5. 所有的介面必須要有日誌,方便維護。
介面接入規則:
1. 配置合作著接入id必須是唯一的。
2. 所有的介面必須包含method和version引數。
3. 引數列表中,不可空的引數必須配置。
4. 引數列表中,可空的但需要多選一的多個引數中,必須配置至少乙個。
5. 字串轉化成位元組流時指定的字符集必須與介面一直,常用的字串編碼有:(ascii/unicode/utf-8)。
6. 介面資料傳輸必須使用http協議,支援get或post方式提交。
7. 保證網路順暢,防止重複提交。
8. 如果響應時間過長直接導致資料返回失敗,提示接收端重新提交。
介面編碼設計:
使用抽象依賴倒置思維進行介面設計
· 定義乙個通用抽象類
public inte***ce iservice
public abstract class service
}
· 所有介面繼承這個抽象類 如下:
public class companypersonnelomittotal : service
else
}}
· 上位機呼叫介面api
public class testservice : service
else if (result.resobject is string)
}else}}
private ipatrolnew classfactory(string version)
return p;
}}
· 使用ihttphandler方式對外的**
}介面呼叫示例:以下是乙個介面的描述
android介面呼叫示例:
arraylistparams = new arraylist();
params.add(new basicnamevaluepair("method"," getcompanypersonnelomittotal"));
params.add(new basicnamevaluepair("departid","725"));
params.add(new basicnamevaluepair("datetype","currmonth"));
try
jsonarray array = json.optjsonarray("object");
for(int i = 0;i < array.length(); i++ )
} catch (exception e)
呼叫 人員漏巡統計 介面示例
jquery介面呼叫示例:
時間查詢介面引數設計
datetype
curryear
本年currmonth
本月quarter
yearindex代表是那一年,預設當前年度
quarterindex代表第幾季度,預設全部
year
yearindex代表是那一年,預設當前年度
month
yearindex代表是那一年,預設當前年度
monthindex代表那月,預設全部
date
startdate開始時間,時間格式:yyyy-mm-dd hh:mm:ss
enddate結束時間
開發日記 介面開發設計
介面開發使用規則 業務術語 請求 通過http協議把需要傳輸的資料傳送給接收方的過程。返回 根據得到的資料處理完成後,將處理完成的結果反饋給接收方。敏感詞 帶有敏感政治傾向,暴力傾向,不健康色彩或不文明的詞。特殊字元 特殊字元包括 等。操作結果 成功失敗,成功返回結果,失敗返回結果錯誤資訊。操作流程...
QT開發日記
1,在使用moc的時候,q object這個巨集不能用在乙個類的定義檔案中,只能在單獨作為乙個類的宣告檔案中用,否則會出現 vtable for x 類名 的出錯提示。如果乙個類只宣告了,而沒有定義,也會出現上述錯誤.這時可以在這個檔案的末尾加上 include moc xx為不要.cpp字尾的檔名...
Ubuntu開發日記
最近在做ubuntu下開發,遇到一些問題,特在這裡做個整理 apt get update更新自己的資料來源,獲得更新的package 資訊。apt get install package name 安裝新的包。dpkg l 列出安裝所有包的資訊 dpkg l列出包的安裝位置等詳細內容 在www.pa...