日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

restful api php,RestfulAPI · ThinkPHP6.0接口开发与应用及uniapp快速入门(更新完毕) · 看云...

發(fā)布時(shí)間:2024/8/23 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 restful api php,RestfulAPI · ThinkPHP6.0接口开发与应用及uniapp快速入门(更新完毕) · 看云... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

# Restful API

>[success]`Restful API`是目前`Web API` 設(shè)計(jì)中比較流行的一種設(shè)計(jì)風(fēng)格。

## Restful API

>[info]RESTful是一種軟件架構(gòu)風(fēng)格、設(shè)計(jì)風(fēng)格,而**不是**標(biāo)準(zhǔn),只是提供了一組設(shè)計(jì)原則和約束條件。

>[danger]對(duì)于這種風(fēng)格,ThinkPHP框架和laravel框架都給了很好的支持。

### 一、常用的HTTP動(dòng)詞

>[success]這種風(fēng)格對(duì)于熟悉ThinkPHP框架的應(yīng)該都比較熟悉。

~~~

* GET:讀取(Read)

* POST:新建(Create)

* PUT:更新(Update)

* PATCH:更新(Update),通常是部分更新

* DELETE:刪除(Delete)

~~~

>[danger]大家可能會(huì)發(fā)現(xiàn),通常情況下的網(wǎng)絡(luò)請(qǐng)求主要是`POST`和`GET`。通常情況下客戶端是不支持除`GET`和`POST`之外的請(qǐng)求方式的。這里的解決方案就是:客戶端發(fā)出的 HTTP 請(qǐng)求,要加上`X-HTTP-Method-Override`屬性,來(lái)指定請(qǐng)求方式。

~~~http

POST /api/Person/4 HTTP/1.1

X-HTTP-Method-Override: PUT

~~~

### 二、URI與URL

#### URI

>[info]URI,統(tǒng)一資源標(biāo)志符(Uniform Resource Identifier, URI),表示的是web上每一種可用的資源

URI通常由三部分組成:

①訪問(wèn)資源的命名機(jī)制;

②存放資源的主機(jī)名;

③資源自身的名稱。

#### URL

>[danger]URL是URI的一個(gè)子集。

URL的格式由三部分組成:

①第一部分是協(xié)議(或稱為服務(wù)方式)。

②第二部分是存有該資源的主機(jī)IP地址(有時(shí)也包括端口號(hào))

③第三部分是主機(jī)資源的具體地址,如目錄和文件名等。

### 三、端點(diǎn)設(shè)計(jì)

>[success]端點(diǎn)是指用于訪問(wèn)API的URI

設(shè)計(jì)原則

1. 短小便于輸入的URI

2. 人可以讀懂的URI

3. 沒(méi)有大小寫(xiě)混用的URI

4. 修改方便的URI

5. 不會(huì)暴漏服務(wù)器端架構(gòu)的URI

6. 規(guī)則統(tǒng)一的URI

例:

|目的|端點(diǎn)|方法|

|-|-|-|

|獲取用戶信息列表|http://api.yifeng.com/v1/users|GET|

|新用戶注冊(cè)|http://api.yifeng.com/v1/users|POST|

|獲取特定用戶信息|http://api.yifeng.com/v1/users/:id|GET|

|更新用戶信息|http://api.yifeng.com/v1/users/:id|PUT/PATCH|

|刪除用戶信息|http://api.yifeng.com/v1/users/:id|DELETE|

### 四、HTTP狀態(tài)碼

客戶端的每一次請(qǐng)求,服務(wù)器都必須給出回應(yīng)。回應(yīng)包括 HTTP 狀態(tài)碼和數(shù)據(jù)兩部分。當(dāng)然,也可以根據(jù)需求再返回一個(gè) 業(yè)務(wù)狀態(tài)碼。具體的規(guī)范可以自行設(shè)定。

HTTP 狀態(tài)碼就是一個(gè)三位數(shù),分成五個(gè)類別。

|狀態(tài)碼|含義|

|-|-|

|1字頭|消息|

|2字頭|成功|

|3字頭|重定向|

|4字頭|客戶端原因引起的錯(cuò)誤|

|5字頭|服務(wù)器端原因引起的錯(cuò)誤|

主要的狀態(tài)碼

|狀態(tài)碼|名稱|含義|

|-|-|-|

|200|OK|請(qǐng)求成功|

|201|Created|請(qǐng)求成功,新資源建立|

|202|Accept|請(qǐng)求成功|

|204|No Content|請(qǐng)求成功,沒(méi)有內(nèi)容|

|300|Multiple Choices|存在多個(gè)資源|

|301|Moved Permanently|資源被永轉(zhuǎn)移|

|302|Found|請(qǐng)求的資源被暫時(shí)轉(zhuǎn)移|

|303|See Other|引用他處|

|400|Bad Request|請(qǐng)求不正確|

|401|Unauthorized|需要認(rèn)證|

|403|Forbidden|禁止訪問(wèn)|

|404|Not Found|沒(méi)有找到指定的資源|

|429|Too Many Requests|訪問(wèn)次數(shù)過(guò)多|

|500|Internal Server Error|服務(wù)器端發(fā)生錯(cuò)誤|

|503||服務(wù)器暫時(shí)停止運(yùn)營(yíng)

>[danger]關(guān)于狀態(tài)碼這一塊大家可以到百度上去了解一下。業(yè)務(wù)狀態(tài)碼是咱們自行定義的!

### 五、服務(wù)器回應(yīng)

>[success]一般情況下,服務(wù)器不要回復(fù)純文本的數(shù)據(jù),通常情況下返回的是`XML`或`JSON`格式的數(shù)據(jù)。

>[danger] Web API其實(shí)就是網(wǎng)頁(yè)的一種,其返回的數(shù)據(jù)形式更容易讓計(jì)算機(jī)程序處理,而不是返回普通的HTML。所以返回的數(shù)據(jù)應(yīng)該盡可能地設(shè)計(jì)得方便計(jì)算機(jī)程序處理。

>[info]在這里就使用JOSN作為返回的數(shù)據(jù)格式。

#### 數(shù)據(jù)格式返回的指定方法

1. 使用查詢參數(shù)的方法

2. 使用擴(kuò)展名的方法

3. 使用在請(qǐng)求首部指定媒體類型的方法

>[danger]如果您的接口不需要同時(shí)支持多種類型,也可以不需要進(jìn)行執(zhí)定。

>[danger]在返回?cái)?shù)據(jù)時(shí),在滿足需求的情況下,返回的數(shù)據(jù)量越小越好。(可以讓用戶來(lái)決定返回的數(shù)據(jù))

#### 返回?cái)?shù)據(jù)的封裝

>[info]關(guān)于響應(yīng)返回的數(shù)據(jù)格式,建義封裝成統(tǒng)一樣的格式。

### 六、版本號(hào)

>[success]關(guān)于版本號(hào)的,有多種解決方案。在這里使用ThinkPHP自帶的解決方案。

### 七、API接口文檔

>[success]通常情況下,API接口的開(kāi)發(fā)者和使用者是不同的人群,所以做一詳細(xì)的接口文檔是十分必要的。

總結(jié)

以上是生活随笔為你收集整理的restful api php,RestfulAPI · ThinkPHP6.0接口开发与应用及uniapp快速入门(更新完毕) · 看云...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。