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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php怎么根据接口文档实现功能,CodeIgniter+swagger实现 PHP API接口文档自动生成功能...

發布時間:2024/10/8 php 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php怎么根据接口文档实现功能,CodeIgniter+swagger实现 PHP API接口文档自动生成功能... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、安裝swagger

1、首先需要有composer,沒有的自行百度安裝

2、下載swagger,打開網站https://packagist.org/packages/zircote/swagger-php,根據自己的php版本選擇對應的版本號

3、安裝:PhpStorm打開項目,然后在左下角

點擊Terminal彈窗黑窗口

然后在里面輸入:composter require?zircote/swagger-php?2.0.13? ? 回車,開始安裝

4、使用,安裝成功后,在CodeIgniter控制器中(/admin/application/controllers/)新建Swagger.php

/**

* Created by PhpStorm.

* User: 50364

* Date: 2018/12/20

* Time: 13:44

* api 接口文檔

*/

class Swagger extends CI_Controller {

/**

* 構造函數

*

* 數據模型,擴展庫,輔助方法初始化

*/

public function __construct() {

parent::__construct();

}

public function index(){

//接口php文件存放的本地路徑 要找到入口文件index.php的路徑 (D:/www/ci)

$openapi = swagger\scan(__DIR__);

//最后生成的json文件存放路徑(例子:D:/www/ci/swagger/swagger-docs/swagger.json)

$jasonFile = __DIR__.'swagger/swagger-docs/swagger.json';

//每次自動生成json文件

file_put_contents($jasonFile,$openapi);

//加載視圖

$this->load->view('swagger','');

}

}

然后創建視圖文件(/admin/application/controllers/swagger.php),這里要下載(swagger-ui-master.zip,解壓到相應目錄,然后把dist中的index.html文件中的內容復制到swagger.php中,再把json文件路徑改成自己的就可以),這樣每次修改api接口注釋信息的時候就會自動生成json文件

路徑: 域名/swagger/swagger-docs/swagger.json

var url = "<?php echo SITE_FILE; ?>swagger/swagger-docs/swagger.json";

二、使用swagger

可以參考這篇博客內容寫的還是比較全的(https://laravel-china.org/index.php/topics/7430/how-to-write-api-documents-based-on-swagger-php)

我這簡單介紹下:

1、在接口控制器目錄下創建/api/application/controllers/swagger.php,寫API 描述信息

/*

* @SWG\Swagger(

* swagger="2.0",schemes={"https"},host="api.aa.com",basePath="/api",

* @SWG\Info(version="2.0",title="官網接口文檔",description="官網2.0版本內部口文檔")

* )

*/

2、在其他接口文件GIT提交

class Product ectends restful{

/*

* @SWG\Get(

* path="/product/menu/id/{id}",

* summary="產品類別列表接口",

* description="返回包含產品類別列表數據信息。",

* tags={"product"},

* @SWG\Parameter(

* name="id",

* in="path",

* default="5037",

* required=true,

* description="產品類別id",

* type="number"),

* @SWG\Response(response=200,description="OK")

* )

*/

public menu_get(){

}

}

3、Post提交

* @SWG\Post(

* path="/product/product_select",

* summary="產品選型接口",

* description="返回包含產品選型數據。",

* consumes={"application/x-www-form-urlencoded"},

* tags={"product"},

* @SWG\Parameter(

* name="id",

* in="formData",

* required=true,

* default="5037",

* description="產品欄目id",

* type="number"),

* @SWG\Parameter(

* name="type",

* in="formData",

* required=true,

* default="1",

* description="產品類型 0普通 1小眾 2特殊 3與普通二級類別不同",

* type="number"),

* @SWG\Parameter(

* name="child",

* in="formData",

* default="5077",

* description="產品下級欄目id",

* type="number"),

* @SWG\Parameter(

* name="searchIds",

* in="formData",

* required=false,

* description="選型數據:10951,10961,10971",

* default="",

* type="string"

* ),

* @SWG\Response(response=200,description="OK")

* )

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的php怎么根据接口文档实现功能,CodeIgniter+swagger实现 PHP API接口文档自动生成功能...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。