Native Go에서 URL 매개변수 매핑
Native Go가 인라인 URL 매개변수를 처리할 수 있나요? /blob/{id}/test에 매핑하려는 URL http://localhost:8080/blob/123/test를 고려해 보세요. 이 질문은 외부 라이브러리에 의존하지 않고 이러한 매핑을 위한 Go의 기본 기능을 탐색합니다.
네이티브 접근 방식:
Native Go는 이 작업에 대한 간단한 메커니즘을 제공하지 않습니다. 그러나 수동으로 구현하는 것은 상대적으로 간단합니다.
다음 함수 getCode()는 요청 URL을 구문 분석하고 경로의 첫 번째 부분에서 코드를 추출합니다.
func getCode(r *http.Request, defaultCode int) (int, string) { p := strings.Split(r.URL.Path, "/") if len(p) == 1 { return defaultCode, p[0] } else if len(p) > 1 { code, err := strconv.Atoi(p[0]) if err == nil { return code, p[1] } else { return defaultCode, p[1] } } else { return defaultCode, "" } }
이 함수는 네이티브에서 URL 매개변수를 매핑하는 기본 방법을 제공합니다. 이동하면 /blob/{id}/test와 같은 URL과 효과적으로 상호 작용할 수 있습니다.
위 내용은 Native Go가 URL 매개변수를 처리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!