다른 패턴으로 동일한 포트에서 웹 페이지 및 API 경로 제공
웹 애플리케이션에서는 정적 웹 페이지와 API 경로를 모두 제공하는 것이 종종 바람직합니다. 동일한 포트 주소를 사용하는 API 라우팅입니다. 이를 달성하려면 net/http 패키지에서 제공하는 패턴 일치 기능을 활용할 수 있습니다.
루트 URL("/")에 대한 파일 처리기를 등록하면 지정된 디렉터리의 정적 콘텐츠가 제공됩니다. 예:
fs := http.FileServer(http.Dir("server/webapps/play_maths")) http.Handle("/", fs)
API 경로를 제공하려면 mux.Router와 같은 라우터를 사용하여 별도의 핸들러를 생성할 수 있습니다. 예:
func UserRoutes() *mux.Router { router := mux.NewRouter().StrictSlash(true) router.HandleFunc("/user/create", api.CreateUser) router.HandleFunc("/user/get/all", api.GetAllUsers) return router }
이 API 라우터를 특정 패턴으로 등록하면 다양한 경로의 API 요청을 처리할 수 있습니다. 예:
http.Handle("/api", UserRoutes())
net/http 문서에 따르면 긴 패턴이 짧은 패턴보다 우선합니다. 즉, "/api/"로 시작하는 모든 요청은 API 라우터에 의해 처리되고 다른 요청은 파일 핸들러로 전달됩니다.
이 접근 방식에서는 잠재적인 충돌을 방지하기 위해 신중하게 고려해야 합니다. 예를 들어, 정적 파일이 "/api/" 디렉터리에 배치된 경우 API 패턴이 우선 적용되므로 해당 파일에 더 이상 액세스할 수 없습니다.
위 내용은 다른 패턴으로 동일한 포트에서 웹 페이지와 API 경로를 제공하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!