개발/Go

[Fiber] Fiber 기본

devhooney 2022. 11. 4. 11:02
728x90

Fiber의 기본 라우팅 방식에 대해 공부해보려고 한다.

 

- 기본

package main

import "github.com/gofiber/fiber/v2"

func main() {
	app := fiber.New()

	app.Get("/", func(c *fiber.Ctx) error {
		return c.SendString("Hello, World!")
	})

	app.Listen(":3000")
}

 

vscode로 코드를 작성하고 F5로 실행 및 디버그를 하면 실행화면이 뜬다.

localhost:3000 으로 접속하면 "Hello, World!"를 볼 수 있다.

 

 

- 값 받기

	app.Get("/:value", func(c *fiber.Ctx) error {
		return c.SendString("Hello, World! " + c.Params("value"))
	})

"/:value"를 넣어주면 url에 localhost:3000/test 를 입력 시 

"Hello, World! test"를 볼 수 있다.

스프링의 pathvariable 방식이다.

 

 

-  값 선택적으로 받기

	app.Get("/:value?", func(c *fiber.Ctx) error {
		if c.Params("value") != "" {
			return c.SendString("Hello " + c.Params("name"))
			// Hello [value 내용]
		}
		return c.SendString("value가 없다.")
	})

?하나를 붙여주면 스프링에서 require=false와 같다.

url에 value가 없으면 "value가 없다."가 출력되고,

url에 value가 있으면 "Hello value"가 출력된다.

 

 

- 값 다 받기

	app.Get("/api/*", func(c *fiber.Ctx) error {
		return c.SendString("API path: " + c.Params("*"))
		// API path: user/*에 입력한 값
	})

모든 값을 다 받는다. 없으면 비값으로 출력되고, 내용이 있으면 출력된다.

 

 

- static 파일 연결하기

package main

import "github.com/gofiber/fiber/v2"

func main() {
	app := fiber.New()
    
	app.Static("/", "./public") 
    
	app.Get("/", func(c *fiber.Ctx) error {
		return c.SendString("Hello, World!")
	})

	app.Listen(":3000")
}

JS나 CSS 등의 정적 파일을 연결해준다.

app.Static("/", "./public")를 넣으면 "/public" 경로에 있는 파일에 접근할 때 "/" 으로 사용 가능하다.

 

 

- 참고

 

https://docs.gofiber.io/api/fiber

 

Fiber - Fiber

When set to true, fiber will check whether proxy is trusted, using TrustedProxies list. By default c.Protocol() will get value from X-Forwarded-Proto, X-Forwarded-Protocol, X-Forwarded-Ssl or X-Url-Scheme header, c.IP() will get value from ProxyHeader head

docs.gofiber.io

 

728x90

'개발 > Go' 카테고리의 다른 글

[Fiber] Fiber Routing과 Grouping  (0) 2022.11.07
[Fiber] Fiber 설정 및 에러  (0) 2022.11.05
[Fiber] Go로 DB Connect하기(MariaDB)  (0) 2022.08.13
[Fiber] Go로 Backend 시작하기  (2) 2022.08.10
[Go] 기초 - 채널  (0) 2022.08.04