本文目錄一覽:
怎麼寫api接口
一些剛開始寫接口文檔的服務端同學,很容易按着代碼的思路去編寫接口文檔,這讓客戶端同學或者是服務對接方技術人員經常吐槽,看不懂接口文檔。這篇文章提供一個常規接口文檔的編寫方法,給大家參考。
推薦使用的是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中的數據是對象類型。則需要描述對象中字段的名稱、類型、長度、不能為空、默認值、說明。以表格的方式來表達最好。
示例:
二、響應參數
1. 響應 HTTP Body
響應body同請求body一樣,需要描述請清除數據的類型。
另外,如果服務會根據不同的http status code 返回不同的數據結構, 也需要針對不同的http status code對內容進行描述。
三、接口說明
說明接口的應用場景,特別的注意點,比如,接口是否冪等、處理是同步方式還是異步方式等。
四、示例
上個示例(重點都用紅筆圈出來,記牢了):
五、接口工具
推薦使用的是(以前叫小幺雞) 寫接口文檔,方便保存和共享,支持導出PDF MARKDOWN,支持團隊項目管理。
求助大神,php api接口怎麼寫
可以寫個interface 讓別人來實現接口的方法就行了。
任何網頁都可以是接口,為了方便數據解析一般都用json和xml響應
php如何開發API接口
進入php源程序目錄中的ext目錄中,這裡存放着各個擴展模塊的源代碼,選擇你需要的模塊,比如curl模塊:cd curl
執行phpize生成編譯文件,phpize在PHP安裝目錄的bin目錄下
/usr/local/php5/bin/phpize
運行時,可能會報錯:Cannot find autoconf. Please check your autoconf installation and
the $PHP_AUTOCONF
environment variable is set correctly and then rerun this
script.,需要安裝autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install
autoconf(Ubuntu Linux)
/usr/local/php5/bin/php -v
執行這個命令時,php會去檢查配置文件是否正確,如果有配置錯誤,
這裡會報錯,可以根據錯誤信息去排查!
PHP 的API接口
使用PHP寫api接口是經常做的,PHP寫好接口後,前台就可以通過鏈接獲取接口提供的數據,而返回的數據一般分為兩種情況,xml和json,在這個過程中,服務器並不知道,請求的來源是什麼,有可能是別人非法調用我們的接口,獲取數據,因此就要使用安全驗證
原理
從圖中可以看得很清楚,前台想要調用接口,需要使用幾個參數生成簽名。
時間戳:當前時間
隨機數:隨機生成的隨機數
口令:前後台開發時,一個雙方都知道的標識,相當於暗號
算法規則:商定好的運算規則,上面三個參數可以利用算法規則生成一個簽名。前台生成一個簽名,當需要訪問接口的時候,把時間戳,隨機數,簽名通過URL傳遞到後台。後台拿到時間戳,隨機數後,通過一樣的算法規則計算出簽名,然後和傳遞過來的簽名進行對比,一樣的話,返回數據。
算法規則
在前後台交互中,算法規則是非常重要的,前後台都要通過算法規則計算出簽名,至於規則怎麼制定,看你怎麼高興怎麼來。
我這個算法規則是
時間戳,隨機數,口令按照首字母大小寫順序排序
然後拼接成字符串
進行sha1加密
再進行MD5加密
轉換成大寫。
如何用PHP開發API接口
他會提供相應接口給你的,具體調用方法就相當於講求某個鏈接。act=get_user_listtype=json在這裡operate.php相當於一個接口,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為JSON格式。
act=get_user_listtype=json’;$ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );curl_setopt ( $ch, CURLOPT_POST, 1 ); //啟用POST提交$file_contents = curl_exec ( $ch );curl_close ( $ch );
php中的API接口怎麼寫 ?
以我目前的能力沒法理解這個問題。但我舉個例子,可能並不是你想要的答案,但沒準可以提醒一下。我們用GOOGLE MAP API (開源)的時候,會引用一個類似接口的方法,方法有很多參數可以設置。比如這是個引用地圖的方法,它的裡面寫了很多完整的方法,我這裡就不放出來了,但是我舉得例子是參數傳遞在最上面的initialize () (這裡我們暫時當作接口)方法上,我們可以傳遞interface_zoom即縮放大小,interface_lati,interface_lngi就是經緯度等等參數,這些參數可以由我們自己處理,無論是從database還是什麼其他方法讀取還是怎麼運算,然後call這個initialize方法帶指定參數就可以了,具體裡面如何操作的地圖,如何生成的地圖,我們就不管了。接口就是我們看到日常生活中的插座,它規定好了規格,是幾項的插頭,我們就做成幾項的插頭,具體裡面什麼線路我們不管。方法中規定了什麼類型的參數,我們就傳什麼類型的參數,具體裡面有什麼算法我們不管。個人最自白的解釋,與官方有出入。
var map;
var infoWindow;
function initialize(interface_zoom,interface_lati,interface_lngi) {
var mapDiv = document.getElementById(‘map-canvas’);
map = new google.maps.Map(mapDiv, {
center: new google.maps.LatLng(interface_lati, interface_lngi),
zoom: interface_zoom,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
……
……
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/151387.html