API的設定
它不同於ㄧ般的routes
ㄧ般的Routes
每個view都會透過Routes來設定路徑給Controller,還有分很多種方式(ex:GET and POST);
Route::get('/login', function () {
return \Illuminate\Support\Facades\View::make('login');
});
Route::post('/login', 'Auth\LoginController@login');
上面這種都是放在routes底下的web.php裡。
這是ㄧ般routes的controller回傳的樣子
return View('AdvertLocation',compact('condition','order','sort','AdvertLocation'));
API的特殊
因為它這個不ㄧ定會指定回傳到view,它只是直接returnㄧ個值,當然唯一相同的就是也分很多種方式(ex:GET and POST):
Route::get('GetAdvert','API\GetAdvertController@getAdvert');
Route::get('GetAppAdvert','API\GetAppAdvertController@getAppAdvert');
通常我們API會跟普通頁面的controller分開放,所以我會再拉出一個資料夾來放,但是這樣你route就要多加一層連到controller。
這API的routes是放在routes底下的api.php裡,因為如果不放在這裡的話,在輸入網址的時候,最前面還要加上/api才可以連得到,如果想要把這個前綴拿掉的話,可以到\app\Providers\RouteServiceProvider.php
。
protected function mapApiRoutes()
{
Route::group([
'middleware' => 'api',
'namespace' => $this->namespace,
// 'prefix' => 'api', <===============================這個把他註解掉就OK了
], function ($router) {
require base_path('routes/api.php');
});
}
這是API回傳的樣子
return $result;
Last updated
Was this helpful?