返回的數(shù)據(jù)是php去決定的,xml和json都是可以的,
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)黃平免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
你可以和使用接口的一方定好規(guī)則,到底要xml格式數(shù)據(jù)還是json格式的數(shù)據(jù)。
當(dāng)然你也可以更靈活點,當(dāng)別人請求你的接口的時候,帶上參數(shù)。你在接口里面接受,如果參數(shù)是1,你就返回json,如果是2,你就返回xml這樣做顯得更靈活。這都是在乎你在接口中怎么去寫的。
接口返回的參數(shù)格式一般是由客戶端的需要來設(shè)置,至于你說的這些,一般是封裝成一個對象,然后將對象轉(zhuǎn)換成Json字符串返回,客戶端接收到Json字符串后,再轉(zhuǎn)換成對象來解析需要的信息就可以了。
PHP主要有八種基本數(shù)據(jù)類型,其中包括:
1.四種變量類型
整數(shù)型(integer)
浮點數(shù)型(float)
布爾型(boolean)
字符串(string)
2.兩種復(fù)合類型
數(shù)組(array)
對象(object)
3.兩種特殊類型
NULL
資源 (resource)
JSONXML
XML: 是一種標(biāo)記語言,設(shè)計的宗旨是傳輸數(shù)據(jù)
JSON: 輕量級的數(shù)據(jù)交換格式
APP接口主要是用JSON輸出格式
APP接口輸出格式三要素:
1. code::錯誤碼
2. msg:錯誤碼對應(yīng)的描述
3. data:接口返回的數(shù)據(jù)
誰有權(quán)限調(diào)用APP接口,客戶端需要帶著憑證來調(diào)用APP接口
JWT的原理:
服務(wù)端認(rèn)證之后,生成一個JSON對象,返回給用戶。后續(xù)客戶端所有請求都會帶上這個JSON對象。服務(wù)端依靠這個JSON對象來認(rèn)定用戶身份。
組成: Header, Payload, Signature
1. Header
說一下我是什么
header通常包含了兩部分:類型和加密算法
{
"alg": "HS256",
"typ": "JWT"
}
header需要經(jīng)過Base64Url編碼后作為IWT的第一部分。
2. Payload
payload包含了claim, 三種類型reserved, public, private
reserved這些claim是JWT預(yù)先定義的,不強制使用,常用的有:
1). iss: 簽發(fā)者
2). exp: 過期的時間戳
3). sub: 面向的用戶
4). aud: 接收方
5). iat: 簽發(fā)時間
{
"sub":? "1234567890",
"name":? "John Doe",
"admin": true
}
payload需要經(jīng)過Base64Url編碼后作為JWT的第二部分。
3. Signature
創(chuàng)建簽名使用編碼后的header和payload以及一個密匙,使用header中指定的簽名算法進行簽名
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)
簽名是在服務(wù)端進行的,客戶端并不知道,所以是安全的。
file_get_contents 得到的字符,使用 json_decode 解析成json。
$xxx_json = json_decode($xxx_response);
PHP接收J(rèn)SON格式的數(shù)據(jù)
在API服務(wù)中,目前流行采用json形式來交互。
給前端調(diào)用的接口輸出Json數(shù)據(jù),這個比較簡單,只需要組織好數(shù)據(jù),用json_encode($array) 轉(zhuǎn)化一下,前端就得到j(luò)son格式的數(shù)據(jù)。
接收前端提交的json數(shù)據(jù)稍微復(fù)雜一點,原因是:PHP默認(rèn)識別的數(shù)據(jù)類型是application/x-標(biāo)準(zhǔn)的數(shù)據(jù)類型。因此,對型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之類的內(nèi)容無法解析,如果用$_POST數(shù)組來接收就會失??!
此時可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 來獲取提交的數(shù)據(jù)
查看手冊,可以發(fā)現(xiàn)$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的區(qū)別:
$_POST:通過 HTTP POST 方法傳遞的變量組成的數(shù)組,是自動全局變量。
$GLOBALS['HTTP_RAW_POST_DATA'] :總是產(chǎn)生 $HTTP_RAW_POST_DATA 變量包含有原始的 POST 數(shù)據(jù)。此變量僅在碰到未識別 MIME 類型的數(shù)據(jù)時產(chǎn)生。$HTTP_RAW_POST_DATA 對于 enctype="multipart/form-data" 表單數(shù)據(jù)不可用。也就是說基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一樣的。但是如果post過來的數(shù)據(jù)不是PHP能夠識別的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,比如 text/xml 或者 soap 等等。
網(wǎng)站題目:php接口的數(shù)據(jù)格式 php數(shù)據(jù)庫接口
文章URL:http://muchs.cn/article22/docohjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站內(nèi)鏈、云服務(wù)器、企業(yè)網(wǎng)站制作、響應(yīng)式網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)