Gorilla Mux로 선택적 URL 변수를 처리하는 방법
Gorilla Mux 라이브러리에서 선택적 URL 변수가 있는 경로를 생성할 수 있습니다. 수행 방법을 살펴보겠습니다.
현재 설정 및 문제:
제공된 코드는 URL에 정수 변수 ID가 필요한 경로를 정의하지만 모든 시나리오는 아닙니다. ID가 필요할 수 있습니다. 목표는 경로가 id 변수가 있는 경우와 없는 경우를 모두 허용하도록 만드는 것입니다.
해결책:
이를 달성하려면 핸들러를 두 번 등록하세요.
r.HandleFunc("/view", MakeHandler(ViewHandler)) r.HandleFunc("/view/{id:[0-9]+}", MakeHandler(ViewHandler))
매개변수 없이 경로 /view로 핸들러를 등록하면 경로가 없는 경우에도 경로가 작동할 수 있습니다. id.
Vars 처리:
요청에서 변수를 검색할 때 id 변수가 있는지 확인하는 것이 중요합니다:
vars := mux.Vars(r) id, ok := vars["id"] if !ok { // Directory listing or equivalent logic return } // Specific view logic
요청에 ID가 없으면(예: /view가 요청됨) ok 변수는 false가 되며 다음을 수행할 수 있습니다. 적절하게 처리하십시오(예: 디렉토리 목록 표시). 그렇지 않으면 특정 뷰 핸들러에서 id 값을 사용할 수 있습니다.
위 내용은 Gorilla Mux에서 선택적 URL 매개변수를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!