>  기사  >  백엔드 개발  >  RESTful API를 구축하고 Golang을 사용하여 CORS를 구현하는 방법은 무엇입니까?

RESTful API를 구축하고 Golang을 사용하여 CORS를 구현하는 방법은 무엇입니까?

WBOY
WBOY원래의
2024-06-02 17:52:01528검색

RESTful API 생성 및 CORS 구현: 프로젝트를 생성하고 종속성을 설치합니다. 요청을 처리하도록 HTTP 라우팅을 설정합니다. middlewareCORS 미들웨어를 사용하여 CORS(교차 원본 리소스 공유)를 활성화합니다. CORS 미들웨어를 라우터에 적용하여 모든 도메인의 GET 및 OPTIONS 요청을 허용하세요.

如何使用 Golang 构建 RESTful API 并实现 CORS?

Golang을 사용하여 RESTful API 구축 및 CORS 구현

오늘날의 연결된 웹 세계에서 RESTful API 구축은 다른 애플리케이션 및 서비스와 데이터를 교환하는 데 매우 중요합니다. 이 튜토리얼에서는 Golang을 사용하여 RESTful API를 구축하고 CORS(Cross-Origin Resource Sharing)를 활성화하는 방법을 안내합니다.

전제 조건:

  • Golang v1.18 이상 설치
  • HTTP 및 REST 개념에 익숙함

1 프로젝트 생성

mkdir my_rest_api && cd my_rest_api
go mod init my_rest_api

2. HTTP 라우터 사용( Gorilla Mux와 마찬가지로)는 요청 라우팅을 관리합니다.

package main

import (
    "fmt"
    "log"
    "net/http"

    "github.com/gorilla/mux"
)

func helloWorld(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, "Hello World!")
}

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/", helloWorld).Methods(http.MethodGet)
    log.Fatal(http.ListenAndServe(":8080", r))
}

위 코드에서 helloWorld 핸들러 함수는 GET 요청에 응답하고 간단한 텍스트 메시지를 반환합니다.

helloWorld 处理器函数响应 GET 请求并返回一个简单的文本消息。

3. 实现 CORS

接下来,启用 CORS 允许 API 从其他域访问。

func middlewareCORS(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        w.Header().Set("Access-Control-Allow-Origin", "*")
        w.Header().Set("Access-Control-Allow-Methods", "GET, OPTIONS")
        if r.Method == "OPTIONS" {
            w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
        }
        next.ServeHTTP(w, r)
    })
}

middlewareCORS3. CORS 구현

다음으로 CORS를 활성화하여 다른 도메인에서 API에 액세스할 수 있도록 합니다.

r.Use(middlewareCORS)

middlewareCORS 함수는 응답에 필요한 CORS 헤더를 설정하는 HTTP 미들웨어입니다. 모든 도메인(Access-Control-Allow-Origin: "*")의 GET 및 OPTIONS 요청을 허용합니다.

4. 미들웨어 적용

라우터에 CORS 미들웨어를 적용합니다.

rrreee

실용 사례:

🎜🎜이 RESTful API를 사용하면 데이터를 쿼리하거나 다른 소스의 요청을 처리할 수 있습니다. 예를 들어 간단한 CRUD API를 구축하여 사용자 데이터를 관리할 수 있습니다. 🎜🎜CORS를 구현하면 API가 다양한 도메인의 다른 애플리케이션 및 서비스와 상호 작용할 수 있습니다. 이는 현대적인 분산 시스템을 구축할 때 매우 중요합니다. 🎜

위 내용은 RESTful API를 구축하고 Golang을 사용하여 CORS를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.