Creating API Documentation
Create comprehensive API documentation with OpenAPI v3.0 and Swagger UI
Creating API Documentation
WebApp 2.0.1 provides comprehensive API documentation capabilities with automatic OpenAPI v3.0 generation and Swagger UI integration. This makes it easy to document, test, and maintain your APIs.
Overview
WebApp supports multiple approaches to API documentation:
- Automatic OpenAPI Generation: Automatically generates OpenAPI 3.0 specs from your code
- Manual Documentation: Use the traditional
ApiDoc
class for detailed control - Hybrid Approach: Combine automatic generation with manual annotations
Automatic OpenAPI v3.0 Documentation
Basic Setup
Accessing Documentation
Your API documentation will be available at:
- Swagger UI:
http://localhost:8085/docs
- OpenAPI JSON:
http://localhost:8085/openapi.json
- OpenAPI YAML:
http://localhost:8085/openapi.yaml
Controller Documentation
Use annotations to document your controllers and operations:
Model Documentation
Document your data models for automatic schema generation:
Route Integration
Integrate documentation with your routing:
Traditional ApiDoc Class (Legacy)
For backward compatibility, you can still use the traditional ApiDoc
class:
Using Legacy ApiDoc with Routes
Authentication Documentation
Document your authentication schemes:
Exposing Documentation Endpoint
Create a custom documentation endpoint:
Best Practices
Documentation Guidelines
- Be Descriptive: Provide clear, detailed descriptions for all operations
- Use Examples: Include realistic examples in your schemas
- Document Errors: Document all possible error responses
- Consistent Structure: Use consistent naming and structure
- Keep Updated: Ensure documentation stays in sync with code
Schema Design
- Reusable Components: Create reusable schema components
- Validation Rules: Include validation constraints
- Nested Objects: Properly structure relationships
- Enum Values: Document all possible enum values
Security Documentation
- Auth Methods: Document all authentication methods
- Permissions: Clearly define required permissions
- Rate Limits: Document any rate limiting
- CORS: Document CORS configuration
Advanced Features
Custom Swagger UI
Multiple API Versions
Next Steps
- Learn about OpenAPI Documentation for advanced features
- Explore Form Validation for request validation
- Check out Controllers for organizing API logic