Go를 사용하여 CORS 실행 전 요청 처리
Go로 작성된 RESTful 백엔드 서버에서 교차 출처 HTTP 요청을 처리하려면 실행 전 CORS 요청을 처리해야 합니다. . 효과적으로 대처하는 방법은 다음과 같습니다.
1. 수동 메소드 확인:
net/http에서는 핸들러 기능에서 요청 메소드를 확인할 수 있습니다. 예를 들면 다음과 같습니다.
func AddResourceHandler(rw http.ResponseWriter, r *http.Request) { switch r.Method { case "OPTIONS": // Preflight handling logic case "PUT": // Actual request response } }
2. Gorilla Mux 패키지:
Gorilla Mux를 사용하면 각 URL 경로에 대해 별도의 실행 전 핸들러를 등록할 수 있습니다. 예:
r := mux.NewRouter() r.HandleFunc("/someresource/item", AddResourceHandler).Methods("PUT") r.HandleFunc("/someresource/item", PreflightAddResourceHandler).Methods("OPTIONS")
3. HTTP 핸들러 래퍼:
로직을 분리하고 CORS 핸들러를 재사용하려면 REST 핸들러 래핑을 고려하세요. 예를 들어 net/http:
func corsHandler(h http.Handler) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Method == "OPTIONS" { // Preflight handling } else { h.ServeHTTP(w, r) } } }
Usage:
http.Handle("/endpoint/", corsHandler(restHandler))
이러한 접근 방식은 Go에서 CORS 실행 전 요청을 처리하기 위한 우아한 솔루션을 제공합니다. 귀하의 애플리케이션 아키텍처에 가장 적합한 것을 선택하세요.
위 내용은 Go에서 CORS 실행 전 요청을 효율적으로 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!