既然都來玩了API,當然少不了API文件的部分,筆者在研究打造RESTful API的過程中,發現有許多文章都會介紹laravel可以快速產生一個文件,所以就來簡單的玩看看囉~~
先來安裝一下,使用久違的Composer安裝這個擴展包$composer require --dev mpociot/laravel-apidoc-generator
然後在瀏覽器中輸入
http://127.0.0.1:8000/docs/index.html
就會發現文件已經產生了~而且我發現在controller的註解好像出現在文件上了耶!!!好神奇!!!!
試著小修改一下註解來玩看看
/**
* API 說明
*
* API CRUD基本操作
*/
public function index()
{
return Product::all();
}
/**
* API create
*
*/
public function create()
{
//
}
然後輸入一下(每次異動好像都要輸入一次,讓文件重新產生的樣子)php artisan apidoc:generate
這時候再回到瀏覽器使用重新整理大法來看看結果,就會發現文件已經更新了
然後我們可以試著把註解下面貼上
* @queryParam title product title.
* @queryParam description product description
* @queryParam price random number.
* @bodyParam title string product title
* @bodyParam description string product description
* @bodyParam price int random number
來看看畫面會是怎樣?(這部分我就不截圖了,有興趣跟著做的朋友,把code貼上去應該就能看到結果了)
如果文件中需要說明response的結果,我們也可以使用@response來呈現
/**
* API show
*
* @response {
* "title": "xxxx",
* "description": "this is product xxxx",
* "price": 100
*}
*/
public function show(Product $product)
{
return $product;
}
我也是第一次接觸到這個產生文件的玩意,是頗方便的~所以推薦有興趣的朋友可以繼續深入研究看看,也有許多文章是介紹另外一套Swagger,可以google搜尋Laravel + Swagger應該也找得到教學。
記得每次異動都要輸入php artisan apidoc:generate,讓文件更新一下喔!!!!