효율적이고 안정적인 Node.js에서 동작하는 TypeScript 풀스택 백엔드 프레임워크.
데코레이터 하나로 DB 컬럼 · Swagger 문서 · 런타임 타입을 한 번에 정의하세요.
TypeIs 데코레이터 하나가 Sequelize 컬럼 정의, Swagger 스키마, 런타임 타입 강제 변환기를 동시에 생성합니다. 필드를 한 번만 선언하세요.
@TypeIs.STRING({ comment: '이메일' })
email: string;DataTypes.STRING(){ type: "string" }String(value)6개의 독립 패키지를 필요한 만큼 조합하세요. 의존성은 최소, 유연성은 최대.
Swagger 문서, JWT 인증, 페이지네이션 파싱이 자동으로 처리됩니다.
@Get('/', {
auth: true,
query: UserQueryDto,
response: UserDto,
})
getUserList = async ({ paging, user }) => ...하나의 DTO 클래스가 Swagger 스키마, Sequelize 쿼리 옵션, 런타임 타입 변환을 모두 처리합니다.
@Dto({ defineTable: UsersTable })
class UserDto extends ExtendableDto {
@TypeIs.INT() id: number;
@TypeIs.STRING() email: string;
}error() 팩토리로 타입 안전한 에러 코드를 선언하고, 일관된 응답 형식을 보장합니다.
// 선언
NOT_FOUND: error('USER_001', '사용자 없음')
// 응답
// { status: 404,
// errorCode: 'USER_001',
// message: '사용자 없음' }@asapjs/cli로 프로젝트 스캐폴딩부터 개발 서버 실행까지 모든 것을 처리합니다.
각 레이어는 단일 책임을 가집니다. 비즈니스 로직이 HTTP 계층에 오염되지 않습니다.
별도의 Swagger 파일 없이, 라우트 데코레이터의 title, body, response, errors 옵션으로 OpenAPI 스펙이 자동 완성됩니다.