Laravel은 웹 애플리케이션과 API를 빠르게 구축하는 데 도움이 되는 풍부한 기능과 도구를 제공하는 탁월한 PHP 프레임워크입니다. 이번 글에서는 Laravel을 사용하여 API 인터페이스를 작성하는 방법을 알아 보겠습니다.
API를 구축할 때 보안은 매우 중요합니다. 승인된 사용자만 API에 액세스할 수 있도록 해야 합니다. Laravel은 토큰 기반 인증, OAuth 인증 등 다양한 API 인증 방법을 제공합니다. 인증 미들웨어를 구성하면 이러한 기능을 쉽게 사용할 수 있습니다.
Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });
여기서 우리는 API를 보호하기 위해 Laravel의 자체 auth:ap 미들웨어를 사용합니다. 유효한 토큰으로 인증된 사용자만 API에 액세스할 수 있습니다.
라우팅은 API를 구축할 때 또 다른 중요한 측면입니다. Laravel은 API 경로를 쉽게 정의하고 관리할 수 있는 사용하기 쉬운 라우터를 제공합니다.
Route::get('/tasks', 'TaskController@index'); Route::post('/tasks', 'TaskController@store'); Route::get('/tasks/{id}', 'TaskController@show'); Route::put('/tasks/{id}', 'TaskController@update'); Route::delete('/tasks/{id}', 'TaskController@destroy');
위 예에서는 모든 작업 표시, 새 작업 생성, 단일 작업 표시, 작업 업데이트 및 작업 삭제를 위한 5개의 API 경로를 정의했습니다. 이러한 경로는 실제 API 작업을 수행하는 TaskController라는 컨트롤러 클래스를 가리킵니다.
Laravel에서 컨트롤러 클래스는 특정 경로에 대한 요청을 처리하고, 관련 비즈니스 로직을 실행하고, 응답을 반환하는 데 사용됩니다. 컨트롤러는 Laravel의 유효성 검사, 데이터 저장, 쿼리 빌더 및 기타 기능을 사용할 수도 있습니다.
class TaskController extends Controller { public function index() { $tasks = Task::all(); return response()->json($tasks); } public function store(Request $request) { $task = new Task(); $task->title = $request->input('title'); $task->description = $request->input('description'); $task->save(); return response()->json($task); } public function show($id) { $task = Task::find($id); return response()->json($task); } public function update(Request $request, $id) { $task = Task::find($id); $task->title = $request->input('title'); $task->description = $request->input('description'); $task->save(); return response()->json($task); } public function destroy($id) { $task = Task::find($id); $task->delete(); return response()->json(['message' => 'Task deleted']); } }
위의 예에서는 TaskController라는 컨트롤러 클래스를 정의하고 5개의 API 작업을 구현했습니다. 이러한 작업은 모든 작업 표시, 새 작업 생성, 작업 업데이트 등과 같은 다양한 유형의 요청을 처리합니다.
데이터 저장은 API를 구축할 때 또 다른 중요한 측면입니다. Laravel은 데이터베이스에 쉽게 접근하고 관리할 수 있도록 다양한 데이터베이스 드라이버와 ORM(Object Relational Mapping) 도구를 제공합니다.
class Task extends Model { protected $fillable = ['title', 'description']; }
위의 예에서는 작업 데이터 테이블에 해당하는 Task라는 모델을 정의했습니다. 또한 fillable 속성을 사용하여 일괄 할당할 수 있는 모델 속성을 정의합니다.
Laravel API는 웹 애플리케이션과 API를 구축하는 빠르고 안전하며 확장 가능한 방법입니다. Laravel의 라우팅, 컨트롤러, 데이터 저장소 및 기타 도구를 사용하여 강력한 API를 쉽게 구축할 수 있습니다.
위 내용은 Laravel에서 인터페이스를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!