站內搜尋

Tuesday, July 2, 2019

[Laravel] 超新手教學 如何建立API

建立專案
#composer create-project laravel/laravel="5.5.*" myapi
說明: 建立一個名稱為"myapi"的專案 (專案名稱可隨意自取)

更改專案資料夾擁有者
#chown -R www-data:www-data myapi/
說明: linux serve 主機預設會由 www-data 來執行網頁相關程序,也就是使用者連上我們的網站進行操作時,在主機上其實由 www-data 來執行工作,所以要把網站資料夾設定給 www-data 來擁有。

更改 storage 資料夾權限
#cd myapi/
#chmod -R 775 storage/
說明: storage主要是存放 session、產生的檔案及系統的log,所以需要設定為可寫入。

開啟 laravel 首頁
#php artisan serve
說明: 使用 laravel 內建的 serve 功能,開啟測試網址,應該可以看到 laravel 的首頁。(關閉請按 ctrl + c)
備註: 如果你已經擁有網址(e.g. http://myweb.com),假設 laravel 的 myapi 專案是建立在網站根目錄,那你可以直接輸入 http://myweb.com/myapi/public 來開啟首頁。

修改 API routes
#vim routes/api.php
Route::get('/test', function() {
    return 'Hello API';
});
說明: 預設的 user 路由請註解掉。

測試 api 路由
#php artisan serve
說明: 在網址後面加上 /api/test,應該可以看到 Hello API 的文字。
備註: 如果你已經擁有網址,那你可以直接輸入 http://myweb.com/myapi/public/api,應該可以看到 Hello API 的文字。
補充: 在 app/Providers/RouteServiceProvider.php 裡面有定義 API  的 route 規則 (mapApiRoutes),預設規則是網址多一層 api/ ,就會吃到 routes/api.php。
補充: 如果不想要網址還要多一層 api/,可以走預設的 routes/web.php,對 laravel 來說,除了網址多一層外,並無其它差別。

修改 .env 連接資料庫
#vim .env
修改 DB_* 為你的資料庫相關資料 (e.g. DB_HOST=127.0.0.1 改成 mydb.myweb.com)

移除預設的資料表建立檔 (非必要)
#rm database/factories/UserFactory.php
#rm database/migrations/2014_10_12_000000_create_users_table.php
#rm database/migrations/2014_10_12_100000_create_password_resets_table.php

晚點再補完...

No comments:

Post a Comment