# Handler Generator CLI Tool CLI tool untuk generate handler baru secara otomatis dengan swagger documentation. ## Cara Penggunaan ### Windows ```bash # Buka terminal di folder tools generate.bat [methods] # Contoh: generate.bat user get post generate.bat product get post put delete ``` ### Linux/Mac ```bash # Buka terminal di folder tools ./generate.sh [methods] # Contoh: ./generate.sh user get post ./generate.sh product get post put delete ``` ### Langsung dengan Go ```bash # Dari root project # .. run tools/generate-handler.go : Perintahnya # .. user nama module nya dan handlernya # .. get post put delete metod yang di gunakan go run tools/generate-handler.go user get post put delete ``` ## Method yang Tersedia - `get` - GET endpoint untuk list data - `post` - POST endpoint untuk create data - `put` - PUT endpoint untuk update data - `delete` - DELETE endpoint untuk delete data ## File yang Dibuat Otomatis 1. **Handler**: `internal/handlers/.go` 2. **Models**: `internal/models/.go` 3. **Routes**: Update otomatis di `internal/routes/v1/routes.go` ## Contoh Penggunaan ### 1. Generate Handler dengan GET dan POST ```bash ./generate.sh user get post ``` ### 2. Generate Handler dengan semua method ```bash ./generate.sh product get post put delete ``` ### 3. Generate Handler dengan custom method ```bash ./generate.sh order get post delete ``` ## Langkah Setelah Generate 1. Jalankan swagger generator: ```bash swag init -g cmd/api/main.go --output cmd/api/docs ``` 2. Jalankan aplikasi: ```bash go run cmd/api/main.go ``` 3. Akses swagger UI: ``` http://localhost:8080/swagger/index.html ``` ## Struktur File yang Dibuat ### Handler File (`internal/handlers/.go`) - Struct handler - Constructor function - Endpoint methods dengan swagger documentation - Error handling ### Model File (`internal/models/.go`) - Request models - Response models - Error response models ### Routes Update - Otomatis menambahkan routes ke `/api/v1/` - Support parameter ID untuk endpoint spesifik ## Contoh Output Untuk command: `./generate.sh user get post` ### Handler yang dibuat: - `GET /api/v1/users` - List users - `GET /api/v1/users/:id` - Get user by ID - `POST /api/v1/users` - Create new user ### Swagger Documentation Semua endpoint otomatis memiliki swagger documentation yang bisa diakses di: ``` http://localhost:8080/swagger/index.html