Laravel 5.3에서 API 경로를 사용하는 방법


93

Laravel 5.3에서 API 경로는 api.php 파일로 이동되었습니다. 하지만 api.php 파일에서 경로를 어떻게 호출 할 수 있습니까? 다음과 같은 경로를 만들려고했습니다.

Route::get('/test',function(){
     return "ok"; 
});

다음 URL을 시도했지만 둘 다 NotFoundHttpException 예외를 반환했습니다.

  • http://localhost:8080/test/public/test
  • http://localhost:8080/test/public/api/test

이 API 경로를 어떻게 호출 할 수 있습니까?


답변:


173

당신은 그것을 부른다

http://localhost:8080/api/test
                      ^^^

들여다 보면 app/Providers/RouteServiceProvider.php기본적으로 apiAPI 경로 의 접두사를 설정하는 것을 볼 수 있으며 원하는 경우 물론 변경할 수 있습니다.

protected function mapApiRoutes()
{
    Route::group([
        'middleware' => 'api',
        'namespace' => $this->namespace,
        'prefix' => 'api',
    ], function ($router) {
        require base_path('routes/api.php');
    });
}

laravel 5.4에서 호출하는 방법에 대한 아이디어가 있습니까? 기본 API를 제공합니다 Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); 나는 로컬 호스트 / 응용 프로그램 / API / 사용자 시도하지만 작업 한
utdev

@utdev 정확히 똑같이 사용합니다. appURI에서 세그먼트를 제거하십시오 . 그것은의 라인을 따라 보일 것localhost/api/user
peterm는


1

route / api.php

Route::get('/test', function () {
    return response('Test API', 200)
                  ->header('Content-Type', 'application/json');
});

매핑은 서비스 공급자 App \ Providers \ RouteServiceProvider에 정의되어 있습니다.

protected function mapApiRoutes(){
    Route::group([
        'middleware' => ['api', 'auth:api'],
        'namespace' => $this->namespace,
        'prefix' => 'api',
    ], function ($router) {
        require base_path('routes/api.php');
    });
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.