iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 28
0
自我挑戰組

從0開始-30天摸索laravel系列 第 28

DAY28: 逐步建構一個RESTful API 4

  • 分享至 

  • xImage
  •  

既然都來玩了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,讓文件更新一下喔!!!!


上一篇
DAY27: 逐步建構一個RESTful API 3
下一篇
DAY29: 補一個Middleware吧
系列文
從0開始-30天摸索laravel31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言