Generate professional API documentation automatically using TypeScript decorators and OpenAPI 3.0.
Always up-to-date documentation.
Built-in interactive documentation UI.
JWT, API Key, and OAuth2 support.
Describe your API with metadata decorators.
1import { createApp, SwaggerModule } from "canxjs";23const app = createApp();45const config = {6title: 'Canx API',7version: '1.0',8description: 'The API description'9};1011const document = SwaggerModule.createDocument(config, [UserController]);12SwaggerModule.setup('/api/docs', document);
1import { Controller, Get } from "canxjs";2import { ApiOperation, ApiResponse, ApiTags } from "canxjs/swagger";34@ApiTags('users')5@Controller('users')6export class UserController {78@Get()9@ApiOperation({ summary: 'Get all users' })10@ApiResponse({ status: 200, description: 'Return all users.' })11findAll() {12return [];13}14}
1import { ApiProperty } from "canxjs/swagger";23export class CreateUserDto {4@ApiProperty({ example: 'John' })5name: string;67@ApiProperty({ required: false })8age: number;9}
Document your event-driven microservices using AsyncAPI decorators.
1import { AsyncApiChannel, AsyncApiMessage } from "canxjs/features/AsyncApi";23class NotificationController {45@AsyncApiChannel({6name: 'user/signedup',7publish: true8})9@AsyncApiMessage({10payload: UserSignedUpEvent,11summary: "User registration event"12})13handleUserSignup() {}14}