Refactor to JSON API with Chi router and interface-based design

- Add pkg/greet/api_v1.go with ApiV1Greet interface and handler
- Implement Greeter interface for dependency injection
- Return JSON responses with proper Content-Type headers
- Move greet service instantiation to server package
- Separate v1 route registration into registerApiV1Routes function
- Health endpoint at /api level, greet endpoints at /api/v1/greet
- Simplify server entrypoint by removing external dependencies
This commit is contained in:
Gabriel Radureau
2026-04-03 13:04:33 +02:00
parent 04d34bead1
commit 6365f92359
8 changed files with 134 additions and 4 deletions

View File

@@ -8,10 +8,11 @@ import (
)
func main() {
service := greet.NewService()
name := ""
if len(os.Args) > 1 {
name = os.Args[1]
}
fmt.Println(greet.Greet(name))
fmt.Println(service.Greet(name))
}