Skip to Content
문서개요

ASAPJS 문서

ASAPJS는 Express.js와 Sequelize ORM 위에 구축된 TypeScript 데코레이터 기반 REST API 프레임워크입니다. 라우팅, 데이터베이스 엔티티, 데이터 전송 객체를 위한 데코레이터를 사용하여 REST API를 깔끔하고 구조적인 방식으로 구축할 수 있으며, 보일러플레이트를 줄이면서도 코드베이스를 체계적이고 타입 안전하게 유지합니다.

ASAPJS의 핵심은 계층화된 아키텍처를 장려하는 것입니다. Controller는 들어오는 HTTP 요청을 처리하고, Application 클래스는 비즈니스 로직을 담당하며, Table 엔티티는 데이터베이스 스키마를 정의합니다. 각 계층은 경량 부트스트랩 프로세스를 통해 연결되며, Swagger 문서화부터 JWT 인증까지 모든 것이 프레임워크의 데코레이터에 의해 자동으로 처리됩니다.

패키지

ASAPJS는 모노레포로 구성되어 있습니다. 필요한 패키지만 설치하세요:

패키지설명
@asapjs/core애플리케이션 부트스트랩, 설정, Winston 기반 JSON 로거
@asapjs/routerHTTP 라우팅 데코레이터 (@Get, @Post 등), Swagger 자동 생성, JWT 미들웨어
@asapjs/sequelizeSequelize ORM 통합, @Table 데코레이터, TypeIs 타입 시스템, DTO
@asapjs/error타입 안전 에러 팩토리 (error()) — Swagger 에러 스키마 자동 생성
@asapjs/schema스키마 레지스트리 및 플러그인 시스템
@asapjs/cliCLI 도구 — asapjs new, dev, build, start, generate 명령
@asapjs/socket실시간 기능을 위한 Socket.io 통합

시작하기

빠른 시작 (5분)

가능한 빨리 작동하는 엔드포인트를 실행하고 싶다면, 시작하기 가이드로 바로 이동하세요:

  1. 설치 — 패키지 설치 및 TypeScript 설정
  2. 첫 번째 API — 단계별로 작동하는 엔드포인트 구축
  3. 프로젝트 구조 — 권장 폴더 레이아웃 이해

전체 학습 경로

프레임워크의 설계와 기능에 대한 깊은 이해를 위해:

  1. 시작하기 — 설치, 첫 번째 API, 프로젝트 구조
  2. 핵심 개념Application 부트스트랩, 설정, 로거
  3. Router — 데코레이터, JWT 미들웨어, Swagger 통합
  4. SequelizeTypeIs 타입 시스템, DTO, 테이블 엔티티
  5. Socket — 실시간 Socket.io 통합

예제

최소한의 ASAPJS 컨트롤러는 다음과 같습니다:

import { RouterController, Get, ExecuteArgs } from '@asapjs/router'; export default class UserController extends RouterController { public tag = 'User'; public basePath = '/users'; constructor() { super(); this.registerRoutes(); } @Get('/me', { title: 'Get current user', auth: true, response: UserInfoDto, }) async getMe({ user }: ExecuteArgs) { return { id: user.id, email: user.email }; } }

@Get 데코레이터는 Express 라우트와 Swagger 문서 항목을 동시에 등록합니다. auth: true 옵션은 핸들러가 실행되기 전에 JWT 토큰을 자동으로 검증합니다.

시작할 준비가 되셨나요? 설치부터 시작하세요.

Last updated on