Welcome
Fiber
Express 로 부터 영감을 받아 Go 를 위해 만들어진 웹 프레임워크 Fiber 를 위한 예제가 포함된 온라인 API 문서입니다. 이를 통해 바로 Fiber 로 웹 앱 개발을 시작할 수 있습니다!
Fiber는 Go를 위한 가장 빠른 HTTP 엔진인 Fasthttp 위에 구축된 Express로부터 영감을 받은 웹 프레임워크입니다. 빠른 개발을 쉽게 하기 위해 설계되었으며 제로 메모리 할당과 성능을 염두에 두고 있습니다.
이 문서는 2024년 3월 XX일에 출시된 Fiber v3를 위한 것입니다.
Installation
먼저, Go 를 다운로드하고 설치하세요. 1.21
이상이 필요합니다.
설치는 go get
명령어를 사용합니다:
Zero Allocation
fiber.Ctx에서 반환되는 일부 값은 기본적으로 변경 불가능하지 않습니다.
fiber 는 고성능을 위해 최적화되어 있기 때문에 fiber.Ctx에서 반환되는 값은 기본적으로 변경 불가능하지 않으며 요청 간에 재사용됩니다. 경험에 의하면, 컨텍스트 값은 핸들러 내에서만 사용해야 하며 참조를 보관하면 안 됩니다. 핸들러에서 반환하는 즉시 컨텍스트에서 얻은 모든 값은 향후 요청에서 재사용되며 발 아래에서 변경됩니다. 다음은 예제입니다:
핸들러 외부에서 해당 값을 유지해야 하는 경우 copy 내장 함수를 사용하여 기본 버퍼의 복사본을 만드세요. 다음은 문자열을 유지하는 예제입니다:
우리는 위의 작업을 수행하고 gofiber/utils에서 사용할 수 있는 사용자 정의 CopyString
함수를 만들었습니다.
또는 Immutable
설정을 사용할 수도 있습니다. 이렇게 하면 컨텍스트에서 반환된 모든 값이 변경 불가능해지므로 어디에서나 유지할 수 있습니다. 물론 이는 성능을 희생하는 대가로 얻어집니다.
Hello, World!
아래 내장된 코드는 기본적으로 만들 수 있는 가장 간단한 Fiber 앱입니다:
http://localhost:3000
으로 이동하면 페이지에 Hello, World!
가 표시되어야 합니다.
Default Routing
라우팅은 특정 HTTP 요청 메서드(GET
, PUT
, POST
등)와 URI(또는 경로)인 특정 엔드포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것을 말합니다.
각 라우트에는 경로가 일치할 때 실행되는 여러 핸들러 함수가 있을 수 있습니다.
라우트 정의는 다음과 같은 구조를 사용합니다:
app
은 Fiber의 인스턴스입니다Method
는 HTTP 요청 메서드입니다:GET
,PUT
,POST
등path
는 서버의 가상 경로입니다func(fiber.Ctx) error
는 경로가 일치할 때 실행되는 Context를 포함하는 콜백 함수입니다
Simple Route
매개변수
선택적 매개변수
Wild card
Static File
이미지, CSS 및 JavaScript 파일과 같은 정적 파일을 제공하려면 함수 핸들러를 파일 또는 디렉터리 문자열로 바꾸세요.
함수 시그니처:
./public
디렉터리에 있는 파일을 제공하려면 다음 코드를 사용하세요:
이제 ./public
디렉터리에 있는 파일을 로드할 수 있습니다:
참고
Fiber 로 Go 에서 API 를 구축하는 방법에 대한 자세한 내용은 Fiber로 Go에서 Express 스타일 API 구축하기에 관한 이 훌륭한 문서를 확인하세요.
Last updated