>백엔드 개발 >Golang >Go에서 서로 다른 핸들 패턴을 사용하여 동일한 포트에서 웹 페이지와 API 경로를 제공하는 방법은 무엇입니까?

Go에서 서로 다른 핸들 패턴을 사용하여 동일한 포트에서 웹 페이지와 API 경로를 제공하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-20 14:21:17645검색

How to Serve Web Pages and API Routes on the Same Port with Different Handle Patterns in Go?

다른 핸들 패턴을 사용하여 동일한 포트에서 웹 페이지 및 API 경로 제공

웹 페이지와 API 경로가 모두 필요한 웹 애플리케이션에서 동일한 포트에서 서비스를 제공하려면 Go 표준 라이브러리에서 제공하는 net/http 패키지를 사용하여 이를 달성할 수 있습니다. 핵심 원칙은 짧은 패턴보다 긴 패턴이 우선한다는 것입니다.

다음 코드 조각을 고려하세요.

fs := http.FileServer(http.Dir("server/webapps/play_maths"))
http.Handle("/", fs) // Serves static web pages from the specified directory

http.Handle("/api", api.UserRoutes()) // Handles API routes using the UserRoutes function

이 예에서 파일 핸들러는 루트 URL 경로 "/ "는 더 긴 패턴과 일치하지 않는 모든 요청을 처리한다는 의미입니다. 그러면 API 경로 핸들러가 "/api" 경로에 등록됩니다. "/api"는 "/"보다 긴 패턴이므로 "/api"로 시작하는 모든 요청은 API 경로 핸들러로 전달되고 다른 모든 요청은 파일 핸들러로 이동됩니다.

참고 우선순위 규칙으로 인해 파일에 액세스할 수 없으므로 "/api" 디렉터리 내에 파일이 없는지 확인하는 것이 중요합니다. 패턴 우선순위 기능을 활용하면 서로 다른 핸들러를 사용하여 동일한 포트에서 웹페이지와 API 경로를 제공하는 것이 가능합니다.

위 내용은 Go에서 서로 다른 핸들 패턴을 사용하여 동일한 포트에서 웹 페이지와 API 경로를 제공하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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