compress option to Sonamu’s @api decorator, you can finely control compression on a per-API basis.
Basic Usage
Adding to @api Decorator
Configuration Methods
- Using Presets
- boolean
- Custom Options
The simplest method
Priority
Compression settings are applied in the following order:- compress in @api decorator (highest priority)
- Global plugins.compress setting
- Default (no compression)
Example
aggressive applied (decorator takes priority)
Disabling Compression
To not compress a specific API:- Already compressed files (images, videos, zip)
- Very small responses (< 100 bytes)
- Real-time streaming
- Avoiding decompression errors
Selective Compression (global: false)
To not compress by default and selectively compress specific APIs:- Prevent unnecessary compression
- Minimize CPU usage
- Precise control
Strategy by Response Size
Small Responses (< 1KB)
Medium Responses (1KB-100KB)
Large Responses (> 100KB)
Strategy by Content Type
JSON API
Images/Binary
HTML/CSS
Practical Examples
1. E-commerce API
2. File Download API
3. Statistics/Report API
4. Streaming API
SSR Page Compression
Compression settings are also available for SSR routes.Conditional Compression
While you cannot control compression at runtime based on conditions, you can separate into multiple APIs:Compression Option Override
You can change only part of the global settings:Monitoring
To verify compression effectiveness:Precautions
Debugging Tips
1. Verify Compression is Applied
2. Compare Compression Sizes
3. Check Compression Algorithm
Next Steps
Compression Configuration
Global compression plugin settings
Compression Presets
Predefined compression settings
Performance Optimization
Compression optimization strategies