UriMatcher - 범위 지정됨

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

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

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

    UriMatcher - UriMatcher()

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

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

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

    var matcher = new sn_ws.UriMatcher();

    UriMatcher - match(문자열 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. 반환
    유형 설명
    UriMatcherResponse 일치에 대한 자세한 정보를 반환하기 위한 메서드가 있는 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: