API介面開發 配置 實現 測試

2021-08-28 09:26:57 字數 2439 閱讀 2928

api介面開發 配置、實現、測試

本處以apache為例,檢視apache的conf目錄下httpd.conf,找到下面的**

loadmodule rewrite_module modules/mod_rewrite.so
將其前面的#去掉,如果沒有找到則新增進去。

找到一下**

allowoverride all

options none

require all granted

將原本的allowoverride none改為allowoverride all。

然後在站點根目錄下建立乙個.htaccess檔案,內容如下:

此處不再贅述yii2的配置,如果需要可以看yii2實戰手冊

(1)新建modules資料夾,實行api介面版本控制。例如v1版本、v2版本……

在v1資料夾下新建controllers資料夾(控制器)、models資料夾(模型)、module.php配置檔案。

module.php檔案如下:

1 <?php 

2 namespace api\modules\v1;

3 4 class module extends \yii\base\module

5 13 }

第2行和第7行隨版本擴充套件而變化(v1->v2...)。

(2)配置config資料夾下的main.php檔案

注意10~17行、20~44行的元件配置,相信大家仔細閱讀就能明白,此處不再贅述原理,請大家尤其注意33~35行的**,此處表示的是v1/site控制器,隨著介面控制器的增多,可以直接在陣列中增加即可。本文力求快速配置出restful架構的實現。

(3)v2、v3表示以後的版本變化,配置都類似於v1資料夾。

資料庫準備乙個名為mxq_guide的資料表

create table `mxq_guide` (

`id` int(11) not null auto_increment,

建立後請注意及時往資料庫新增幾條資料資訊。

通過腳手架gii來建立guide.php模型(使用方法請看yii2權威指南)。生成後的檔案注意改寫,修改為如下形式以滿足restful的需求。之後從models資料夾中轉移到v1/models資料夾中,並注意命名空間的修改。

控制器請建立在modules/controllers資料夾下,並注意命名空間的修改。

要注意的是,此處的控制器與普通的控制器繼承controller不同,此處需繼承activecontroller類。

20~30行注釋的**是基於restful架構的access_token認證,目前還未測試通過,後續補充。

至此,基於yii2的所有配置已基本完成,接下來介紹api介面測試工具及方法。

首先介紹一下postman這款外掛程式,是基於谷歌瀏覽器的一款模擬請求的實用外掛程式。具體使用,在下面測試過程中涉及截圖,介紹不足之處請見諒,自己也是第一次使用。

yii2支援的restful有四種請求方式:get檢視資訊,post建立資訊,put更新資訊,delete刪除資訊。

下面開始演示四種請求資料的方式。(只是截圖演示效果,具體使用還需要大家自己去摸索。)

此處演示的是get方法請求資料庫的資料。對應的是modules/controllers/sitecontroller/actionindex方法。

打*星號位置顯示的是正常的效果,如若出現錯誤,大家可以去yii權威指南——錯誤檢查錯誤原因。

yii2的activecontroller預設實現了資料的分頁效果。

此處演示的是post方法新建資料庫的資料。對應的是modules/controllers/sitecontroller/actioncreate方法。

如果在資料庫的資料層寫好資料校驗規則,此處提交資料不滿足要求的時候就會顯示相應的錯誤。這也是rest的優勢之一。比如如下情況,flag我定義的是int型:

接下來演示的是put方法更新資料庫的資料。對應的是modules/controllers/sitecontroller/actionupdate方法。

此處請大家再次注意最上面的url:  此處15代表的是資料庫id為15的資料,表示更新資料庫id為15的資料資訊。請大家一定注意。restful在使用更新和刪除資料操作的時候,id不能一表單的形式提交,必須緊跟在url之後。

接下來演示的是delete方法刪除資料庫的資料。對應的是modules/controllers/sitecontroller/actiondelete方法。

當返回值為1的時候表示的就是刪除操作執行成功。具體原理請大家仔細觀察sitecontroller控制器內的函式。

標籤: 

php, 

restful, 

yii2, 

postman

api介面開發 配置、實現、測試

使用 umi dva 開發配置介面環境

之後會問你選擇 ts 嗎?是否使用antd,dva,code spliting dll,可選的,自己決定 最後,啟動專案,開啟控制台,一堆警告,和錯誤提示,關於警告,就是react 鉤子在新版本已經換名字了,現在的這些以後會過時了,都是 umi 檔案報的,並不是例項 錯誤,你可以選擇不展示在控制台 ...

flask 開發配置

一 在虛擬機器裡面安裝ubuntu系統.略 二 apt install python3 pip 安裝pip,pip3 install upgrade pip 三 pip3 install virtualenv 安裝虛擬環境 virtualenv env 建立環境 virtualenv no site...

webpack開發配置

webpack打包js配置 新增eot woff ttf svg 把resposive直接打包到vendor,頁面無需引入 新增環境判斷 動態獲取publicpath authors jean chueng jean0920 163.com date 2016 08 08 10 41 31 vers...