UriMatcher - 범위 지정됨

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 4분
  • URI가 체계, 호스트, 경로, 조각 및 쿼리 매개변수 존재 여부에 대해 지정된 기준과 일치하는지 확인하는 메서드를 제공합니다.

    UriMatcher API에는 기본적으로 활성화되어 있는 REST API 공급자(com.glide.rest) 플러그인이 필요합니다.

    이 API는 sn_ws 네임스페이스 내에서 제공됩니다.

    UriMatcher - UriMatcher()

    UriMatcher 개체를 인스턴스화합니다.

    표 1. 매개변수
    이름 유형 설명
    없음

    UriMatcher 객체를 인스턴스화합니다.

    var matcher = new sn_ws.UriMatcher();

    UriMatcher - match(String uri, 문자열 체계, 배열 호스트, 배열 경로, 배열 조각, 부울 disallowQueryParameters)

    URI가 지정된 체계, 호스트, 경로, 단편 및 쿼리 매개변수 존재 여부 기준과 일치하는지 확인합니다.

    표 2. 매개변수
    이름 유형 설명
    uri 문자열 지정된 기준에 대해 테스트할 URI입니다.
    체계 문자열 URI에 사용되는 프로토콜입니다.
    유효한 값은 다음과 같습니다.
    • http
    • https
    호스트 배열 URI의 허용된 호스트 목록입니다.

    URI는 일치로 간주될 허용된 호스트 중 하나를 사용해야 합니다.

    경로 배열 옵션입니다. URI에서 허용되는 경로의 목록입니다.

    URI는 일치로 간주되려면 허용된 경로 중 하나를 사용해야 하며 허용된 경로는 URI에 사용된 전체 경로여야 합니다. 예를 들어 허용된 경로가 /path1인 경우 경로가 /path1/more 인 URI는 일치하는 것으로 간주되지 않습니다.

    주:
    경로는 /로 시작해야 합니다.

    기본값: 모든 경로가 허용됩니다.

    조각 배열 옵션입니다. URI에서 허용되는 조각 목록입니다.

    URI는 허용된 조각이 포함되어 있지 않더라도 일치하는 것으로 간주됩니다. URI는 허용 목록에 없는 조각이 포함된 경우에만 일치하지 않는 것으로 간주됩니다.

    기본값: 모든 조각이 허용됩니다.

    disallowQueryParameters 부울 옵션입니다. URI에서 쿼리 매개변수를 사용할 수 있는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 쿼리 매개변수가 허용되지 않습니다. 쿼리 매개변수가 URI에 포함되어 있으면 오류가 발생합니다.
    • false: 쿼리 매개변수가 허용됩니다.

    기본값: false

    표 3. 반환
    유형 설명
    UriMatcher응답 일치에 대한 자세한 정보를 반환하는 메서드가 포함된 UriMatcherResponse 객체입니다.

    이 예시에서는 URI가 지정된 체계 및 호스트와 일치하는지 확인합니다.

    var uri = "https://example.com/path?q=query";
    var scheme = "https";  
    var allowedHosts = ["example.com"];  
    var matcher = new sn_ws.UriMatcher();  
    var resp = matcher.match(uri, scheme, allowedHosts);  
    
    gs.info("Is URI a match: " + resp.isMatch());

    출력:

    Is URI a match: true

    이 예시에서는 URI가 지정된 체계, 호스트, 경로, 단편 및 쿼리 매개변수의 존재 여부와 일치하는지 확인합니다.

    var uri = "https://example.com/path1/more";
    var scheme = "https";  
    var allowedHosts = ["example.com", "sample.com"];  
    var allowedPaths = ["/path1/more", "/path2/less"];  
    var allowedFragments = ["section1", "section2"];  
    var noQueryParams = true;
    var matcher = new sn_ws.UriMatcher();  
    var resp = matcher.match(uri, scheme, allowedHosts, allowedPaths, allowedFragments, noQueryParams);  
    
    gs.info("Is URI a match: " + resp.isMatch());  
    gs.info("Is scheme a match: " + resp.isSchemeMatches());  
    gs.info("Is host a match: " + resp.isHostMatches());  
    gs.info("Is path a match: " + resp.isPathMatches());  
    gs.info("Is fragment a match: " + resp.isFragmentMatches());
    gs.info("Error occurred: " + resp.isError());  
    gs.info("Error message: " + resp.getErrorMessages());

    출력:

    Is URI a match: true
    Is scheme a match: true
    Is host a match: true
    Is path a match: true
    Is fragment a match: true
    Error occurred: false
    Error message: