Laravel ReverseKit: JSON 구조에서 전체 Laravel 백엔드 생성

발행: (2025년 12월 13일 오전 12:54 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

Cover image for Laravel ReverseKit: Generate Your Entire Laravel Backend From a JSON Structure

저는 Laravel ReverseKit이라는 새로운 Laravel 패키지를 출시했습니다. 이 패키지는 단일 JSON 구조만으로 전체 Laravel 백엔드를 구축하도록 도와줍니다 — AI가 필요 없습니다.

모델, 컨트롤러, 마이그레이션, 정책, 테스트, 리소스를 일일이 작성하는 대신, 출력(JSON)을 한 번 정의하면 ReverseKit이 전체 백엔드를 자동으로 생성합니다.
GitHub repository

🚀 Laravel ReverseKit이 하는 일

Laravel ReverseKit은 JSON 구조를 받아 다음을 생성합니다:

  • $fillable, $casts, 관계가 정의된 모델
  • 추론된 컬럼 타입을 가진 마이그레이션
  • CRUD 메서드를 포함한 API 컨트롤러
  • JSON 출력과 일치하는 API 리소스
  • 검증을 위한 Form Request
  • 소유권 검사를 포함한 정책
  • 모델 팩토리 및 시더
  • 엔드포인트용 Feature 테스트
  • Route::apiResource() 로 등록된 API 라우트

🔧 작동 원리

예상 API 응답을 설명하는 JSON 파일을 만들거나 JSON 문자열을 제공한 뒤 다음 명령을 실행합니다:

php artisan reverse:generate path/to/your.json

추가로 사용할 수 있는 소스:

  • 실시간 API URL (--from-url)
  • OpenAPI/Swagger 스펙 (--from-openapi)
  • Postman 컬렉션 (--from-postman)
  • 기존 데이터베이스 테이블 (--from-database)
  • 인터랙티브 CLI 모드 (reverse:interactive)

이 명령은 정의한 JSON 구조를 기반으로 모델, 컨트롤러, 마이그레이션, 정책 등 모든 백엔드 파일을 생성합니다.

📦 빠른 예시

입력 JSON

{
  "user": {
    "id": 1,
    "name": "John Doe",
    "email": "john@test.com",
    "posts": [
      { "id": 1, "title": "First Post", "body": "Content", "published": true }
    ]
  }
}

생성된 파일

app/Models/User.php
app/Models/Post.php
app/Http/Controllers/UserController.php
app/Http/Controllers/PostController.php
app/Http/Resources/UserResource.php
app/Http/Resources/PostResource.php
app/Policies/UserPolicy.php
app/Policies/PostPolicy.php
database/migrations/xxxx_create_users_table.php
database/migrations/xxxx_create_posts_table.php
tests/Feature/UserTest.php
tests/Feature/PostTest.php
routes/api.php

📍 리소스

  • GitHub:
  • Packagist:

🛠 왜 도움이 되는가

새 백엔드를 만들 때 모델, 마이그레이션, 관계, 정책, 테스트 등 모든 보일러플레이트 코드를 작성하는 데 많은 시간과 반복적인 타이핑이 필요합니다. ReverseKit은 여러분이 도메인 로직에 집중할 수 있게 해 주며, 여러분이 신경 쓰는 출력(JSON)을 기반으로 나머지 부분을 자동으로 스캐폴딩해 줍니다.

Back to Blog

관련 글

더 보기 »

리팩토링 없이 레거시 Laravel 코드 테스트

실제 PHP 프로젝트를 위한 실용적인 전략 레거시 코드베이스는 삶의 일부입니다. 대부분 우리는 그린필드 프로젝트에 참여하지 않습니다. 우리는 애플리케이션을 물려받습니다.

Trevidia에서 반복 기능을 구현한 방법

Trevidia의 Recurring Invoices - 인보이스를 매일, 매주, 격주, 매월, 분기별 또는 연간으로 반복하도록 설정합니다. - 다음 인보이스 날짜를 자동으로 계산합니다.