PB程序員的第一個go語言開發的http服務程序,實戰經歷(一)

經過7天的時間,一個用go語言開發的簡單http服務接口程序,終於搞定了。本文章記錄中間過程,即作爲筆記,將知識點記錄下來,也希望能爲同樣狀況的CS程序開發人員提供一點經驗吧。

先說功能需求,我們的ERP程序時PB開發的,客戶使用第三方的微信小程序,需要與ERP對接會員信息,與他們對接肯定是走http方式的,而且ERP是主數據源,要做HTTP的服務端,實現的接口只有兩個。如果開放數據庫用存儲過程作爲接口,一個小時也許就搞定。不過數據庫開放太不安全,也想通過這個實際項目來練習聯繫。

對方提供的技術標準文檔:

  1. 接口規範
    1. 通信方式
  1. 接口通訊協議統一使用HTTP協議
  2. 字符集使用UTF-8
  3. 接口方法統一使用POST
  4. 返回格式JSON
  5. CRM方接口請求地址:http://xxx.xxx.xxx/xxx(由CRM方定義後提供給華陽)

 

 

    1. 接口參數和格式
    2. 響應格式

序號

參數

參考值

備註

1

appKey

1234567890

應用key(由華陽分配)

2

jsonData

{}

發送的具體的數據,json格式字符串

3

method

queryMember

接口方法

4

timestamp

2012-01-20 08:50:15

發起請求的時間戳

5

sign

7E65B60DCFA42B043FCF57169867082C

簽名,簽名算法爲參數1~4按字母排序升序順序將參數和值連起來,然後再加上商家密鑰,再MD5

格式示例:

http://xxx.xxx.com?method=queryMember&appKey=appkey&jsonData={}×tamp=2012-01-20 08:50:15&sign=7E65B60DCFA42B043FCF57169867082C

 

序號

標籤

格式

說明

1

state

1表示成功,0其它失敗

返回的狀態

2

msg

成功

響應信息描述

3

code

null

預留備用

4

jsonData

{}

返回的json格式數據字符串

格式示例:

{“state”:1, “msg”:”成功”,”jsonData”:{},code:null}

 

 

 

 

    1. 時間戳驗證

時間戳取系統當前時間,超過2分鐘的消息爲無效請求。

    1. 簽名驗證

接收請求方進行簽名認證,算法爲請求參數按字母排序升序將參數和值連起來,然後再加上密鑰,最後再MD5加密。

例如:

method=queryMember,

appkey=1234567890,

timestamp=2012-01-20 08:50:15,

jsonData={},

即簽名算法:

md5(appkey1234567890jsonData{}methodqueryMembertimestamp2012-01-20 08:50:15)。

 

再說一下選擇GO的原因,最看重部署方便,給客戶發送一個壓縮包,解壓,啓動exe就完事。不像.NET需要安裝IIS,配置各種各樣的屬性,而Java是一點不懂。再一點,GO是新語言,掌握它,增加一項技能,對以後工作也有好處。

4月3號,開始動手做這個項目。去年學過一段時間的GO,幾個月不接觸,已經忘記的差不多了,很生疏了。之前看書多,動手操作少,印象不深。這也是這次寫文章的原因,通過項目,將學習的東西記錄下來,以防遺忘。3號一天的時間,基本是通過學習視頻來重溫beego。有兩個視頻:

1、https://tv.sohu.com/v/cGwvOTUwNzY3NC8xMDU2OTE0NDguc2h0bWw=.html,2、https://ke.qq.com/course/340643,第二個視頻更專業些。第一個看完2節,第二個看完6節,掌握個大概,就上路開發了。

電腦的GO環境還在,IDE用的liteide,框架選擇的beego,書籍看的《GO Web編程》電子版。GO環境的安裝、配置,GO語言開發工具的下載安裝,大家百度吧,具體的過程記不清了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章