>  기사  >  백엔드 개발  >  Native Go가 URL 매개변수를 처리할 수 있나요?

Native Go가 URL 매개변수를 처리할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-11-12 14:37:02811검색

Can Native Go Handle URL Parameters?

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, ""
        }
}
  • strings.Split 함수는 경로를 여러 부분으로 나눕니다.
  • 한 부분만 있는 경우 기본 코드와 유일한 부분을 반환합니다.
  • 부분이 여러 개인 경우 변환을 시도합니다. 첫 번째 부분을 정수(코드)로 변환합니다. 성공하면 코드와 두 번째 부분을 반환합니다. 그렇지 않은 경우 기본 코드와 두 번째 부분을 반환합니다.
  • 그렇지 않으면 기본 코드와 빈 문자열을 반환합니다.

이 함수는 네이티브에서 URL 매개변수를 매핑하는 기본 방법을 제공합니다. 이동하면 /blob/{id}/test와 같은 URL과 효과적으로 상호 작용할 수 있습니다.

위 내용은 Native Go가 URL 매개변수를 처리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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