Files
antrean-anjungan/tools/HANDLER.md
2025-08-14 09:08:34 +07:00

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 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/<nama>.go
  2. Models: internal/models/<nama>.go
  3. 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

  1. Jalankan swagger generator:
swag init -g cmd/api/main.go --output cmd/api/docs
  1. Jalankan aplikasi:
go run cmd/api/main.go
  1. 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 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