Basic routing
Routing refers to determining how an application responds to a client request to a particular endpoint, which is a URI (or path) and a specific HTTP request method (GET, PUT, POST and so on).
Each route can have multiple handler functions, that are executed when the route is matched.Route definition takes the following structures:
- // Function signature
- app.Method(path string, ...func(*fiber.Ctx))
app
is an instance of Fiber.Method
is an HTTP request method, in capitalization:Get
,Put
,Post
, etc.path
is a virtual path on the server.func(*fiber.Ctx)
is a callback function containing the Context executed when the route is matched.
Simple route
- // Respond with "Hello, World!" on root path, "/"
- app.Get("/", func(c *fiber.Ctx) {
- c.Send("Hello, World!")
- })
Parameters
- // GET http://localhost:8080/hello%20world
- app.Get("/:value", func(c *fiber.Ctx) {
- c.Send("Get request with value: " + c.Params("value"))
- // => Get request with value: hello world
- })
Optional parameter
- // GET http://localhost:3000/john
- app.Get("/:name?", func(c *fiber.Ctx) {
- if c.Params("name") != "" {
- c.Send("Hello " + c.Params("name"))
- // => Hello john
- } else {
- c.Send("Where is john?")
- }
- })
Wildcards
- // GET http://localhost:3000/api/user/john
- app.Get("/api/*", func(c *fiber.Ctx) {
- c.Send("API path: " + c.Params("*"))
- // => API path: user/john
- })