1. 程序員怎樣規范編寫介面文檔
規范的事情當然要有專業的工具。推薦使用的是docway寫介面文檔,方便保存和共享,支持導出PDF MARKDOWN,支持團隊項目管理。
一些剛開始寫介面文檔的服務端同學,很容易按著代碼的思路去編寫介面文檔,這讓客戶端同學或者是服務對接方技術人員經常吐槽,看不懂介面文檔。這篇文章提供一個常規介面文檔的編寫方法,給大家參考。
一、請求參數
1. 請求方法
GET
用於獲取數據
POST
用於更新數據,可與PUT互換,語義上PUT支持冪等
PUT
用於新增數據,可與POST互換,語義上PUT支持冪等
DELETE
用於刪除數據
其他
其他的請求方法在一般的介面中很少使用。如:PATCH HEAD OPTIONS
2. URL
url表示了介面的請求路徑。路徑中可以包含參數,稱為地址參數,如**/user/{id}**,其中id作為一個參數。
3. HTTP Header
HTTP Header用於此次請求的基礎信息,在介面文檔中以K-V方式展示,其中Content-Type則是一個非常必要的header,它描述的請求體的數據類型。
常用的content-type:
application/x-www-form-urlencoded
請求參數使用「&」符號連接。
application/json
內容為json格式
application/xml
內容為xml格式
multipart/form-data
內容為多個數據組成,有分隔符隔開
4. HTTP Body
描述http body,依賴於body中具體的數據類型。如果body中的數據是對象類型。則需要描述對象中欄位的名稱、類型、長度、不能為空、默認值、說明。以表格的方式來表達最好。
示例:
五、介面工具
推薦使用的是http://docway.net(以前叫小幺雞) 寫介面文檔,方便保存和共享,支持導出PDF MARKDOWN,支持團隊項目管理。
2. 如何提交發布微信小程序對接
注意:
第三方平台域名必須配置了SSL證書,可以用https://打開鏈接;
第三方平台可以支持上傳專小程序的業務域名的校驗文屬件;
具體操作步驟如下:
小程序賬號平台——設置——開發設置——業務域名里添加上第三方平台鏈接(https://開頭的)——點擊下載驗證文件---上傳到第三方平台網站上。
具體位置如圖:
3. 程序開發中介面數據是如何連接的
數據的連接首先需要載入一個代碼塊。如果 chunk 是一個字元串,代碼塊指這個字元串。 如果 chunk 是一個函數, load 不斷地調用它獲取代碼塊的片斷。 每次對 chunk 的調用都必須返回一個字元串緊緊連接在上次調用的返回串之後。 當返回空串、nil、或是不返回值時,都表示代碼塊結束。
如果沒有語法錯誤, 則以函數形式返回編譯好的代碼塊; 否則,返回 nil 加上錯誤消息。
如果結果函數有上值, env 被設為第一個上值。 若不提供此參數,將全局環境替代它。 所有其它上值初始化為 nil。 (當你載入主代碼塊時候,結果函數一定有且僅有一個上值 _ENV ))。 然而,如果你載入一個用函數(參見 string.mp, 結果函數可以有任意數量的上值) 創建出來的二進制代碼塊時,所有的上值都是新創建出來的。 也就是說它們不會和別的任何函數共享。
接下來就是根據以上信息進行下面的操作,chunkname 在錯誤消息和調試消息中,用於代碼塊的名字。 如果不提供此參數,它默認為字元串chunk 。 chunk 不是字元串時,則為 "=(load)" 。
字元串 mode 用於控制代碼塊是文本還是二進制(即預編譯代碼塊)。 它可以是字元串 "b" (只能是二進制代碼塊), "t" (只能是文本代碼塊), 或 "bt" (可以是二進制也可以是文本)。 默認值為 "bt"。
Lua 不會對二進制代碼塊做健壯性檢查。 惡意構造一個二進制塊有可能把解釋器弄崩潰。
運行程序來遍歷表中的所有域。 第一個參數是要遍歷的表,第二個參數是表中的某個鍵。 next 返回該鍵的下一個鍵及其關聯的值。 如果用 nil 作為第二個參數調用 next 將返回初始鍵及其關聯值。 當以最後一個鍵去調用,或是以 nil 調用一張空表時, next 返回 nil。 如果不提供第二個參數,將認為它就是 nil。 特別指出,你可以用 next(t) 來判斷一張表是否是空的。
索引在遍歷過程中的次序無定義, 即使是數字索引也是這樣。 (如果想按數字次序遍歷表,可以使用數字形式的 for 。)
當在遍歷過程中你給表中並不存在的域賦值, next 的行為是未定義的。 然而你可以去修改那些已存在的域。 特別指出,你可以清除一些已存在的域。
如果 t 有元方法 __pairs, 以 t 為參數調用它,並返回其返回的前三個值。
否則,返回三個值:next 函數, 表 t,以及 nil。 因此以下代碼
能迭代表 t 中的所有鍵值對。
參見函數 next 中關於迭代過程中修改表的風險。
pcall (f [, arg1, ···])
傳入參數,以 保護模式 調用函數 f 。 這意味著 f 中的任何錯誤不會拋出; 取而代之的是,pcall 會將錯誤捕獲到,並返回一個狀態碼。 第一個返回值是狀態碼(一個布爾量), 當沒有錯誤時,其為真。 此時,pcall 同樣會在狀態碼後返回所有調用的結果。 在有錯誤時,pcall 返回 false 加錯誤消息。