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