Example 01: Basic Routes

Learn basic routing with GET and POST
Time: 5 minutes โ€ข Concepts: HTTP methods, handler forms, auto JSON


๐ŸŽฏ What Youโ€™ll Learn


๐Ÿš€ Run It

cd docs/01-router-guide/01-router/examples/01-basic-routes
go run main.go

Server starts on: http://localhost:3000


๐Ÿงช Test It

1. Simple Ping

curl http://localhost:3000/ping

Response:

"pong"

2. List Users

curl http://localhost:3000/users

Response:

[
  {"id": 1, "name": "Alice", "email": "alice@example.com"},
  {"id": 2, "name": "Bob", "email": "bob@example.com"}
]

3. Create User

curl -X POST http://localhost:3000/users \
  -H "Content-Type: application/json" \
  -d '{"name":"Charlie","email":"charlie@example.com"}'

Response:

{
  "id": 3,
  "name": "Charlie",
  "email": "charlie@example.com"
}

๐Ÿ“ Key Concepts

1. Simple Handler Form

r.GET("/ping", func() string {
    return "pong"
})

2. Return with Error

r.GET("/users", func() ([]User, error) {
    return users, nil
})

3. Request Binding

type CreateUserRequest struct {
    Name  string `json:"name" validate:"required"`
    Email string `json:"email" validate:"required,email"`
}

r.POST("/users", func(req *CreateUserRequest) (*User, error) {
    // req is auto-bound from JSON body
    // auto-validated
})

๐ŸŽ“ What You Learned


Next: 02 - Route Parameters - Learn path and query parameters