Laravel 9에서 API를 만드는 방법
라라벨 9에서 REST API 만들기
오늘은 라라벨 9에서 REST API를 만드는 방법에 대해 설명하겠습니다. 이번 영상에서는 REST API를 이용한 CRUD Operation에 대해 설명하겠습니다.
라라벨 9 설치.
그런 다음 Editor에서 코드를 엽니다.
1 단계
마이그레이션으로 모델
Post
을 생성합니다.php artisan make:model Post -m
다음 업데이트 마이그레이션 파일은
database/migrations
폴더에 있습니다.<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->longText('description');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('posts');
}
};
다음으로 Model fillable 속성을 업데이트합니다
app/models/Post.php
.<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
protected $fillable = ['title', 'description'];
}
2 단계
이제 명령을 실행하여 컨트롤러 생성
php artisan make:controller Api\\PostController --model=Post
이 명령은
app/Http/Controllers/Api/PostController.php
에 파일을 생성합니다.파일을 열고 아래 코드를 업데이트합니다.
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Requests\StorePostRequest;
use App\Models\Post;
use Illuminate\Http\Request;
class PostController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$posts = Post::all();
return response()->json([
'status' => true,
'posts' => $posts
]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(StorePostRequest $request)
{
$post = Post::create($request->all());
return response()->json([
'status' => true,
'message' => "Post Created successfully!",
'post' => $post
], 200);
}
/**
* Display the specified resource.
*
* @param \App\Models\Post $post
* @return \Illuminate\Http\Response
*/
public function show(Post $post)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\Post $post
* @return \Illuminate\Http\Response
*/
public function edit(Post $post)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Post $post
* @return \Illuminate\Http\Response
*/
public function update(StorePostRequest $request, Post $post)
{
$post->update($request->all());
return response()->json([
'status' => true,
'message' => "Post Updated successfully!",
'post' => $post
], 200);
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Post $post
* @return \Illuminate\Http\Response
*/
public function destroy(Post $post)
{
$post->delete();
return response()->json([
'status' => true,
'message' => "Post Deleted successfully!",
], 200);
}
}
3단계
이제 아래 명령을 실행하여 데이터 유효성 검사 요청을 생성해 보겠습니다.
php artisan make:request StorePostRequest
이제
app/Http/Requests/StorePostRequest.php
에서 파일을 열고 아래 코드를 업데이트합니다.<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StorePostRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
"title" => "required|max:70",
"description" => "required"
];
}
}
4단계
이제
routes/api.php
에서 API 경로를 생성합니다.<?php
use App\Http\Controllers\Api\PostController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::apiResource('posts', PostController::class);
이제 애플리케이션을 제공하고 우편 배달부에서 URL을 엽니다.
결과는 다음과 같습니다.
전체 자습서는 비디오 아래에 있습니다.
REST API를 만드는 동안 문제가 발생하면 쿼리를 댓글로 남겨주세요.
읽어 주셔서 감사합니다
나에게 연락하십시오.
Reference
이 문제에 관하여(Laravel 9에서 API를 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shanisingh03/how-to-make-api-in-laravel-9-310g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)