6장. API에서 필터링


시스템은 컬렉션을 "쿼리 세트"로 인식합니다. 다양한 연산자를 사용하여 필터링할 수 있습니다.

REST API URL 내에서 쿼리 매개변수를 사용하여 정확한 일치, 부분 문자열 포함(__contains), 정수 캐스팅(__int) 및 많은 필드와 같은 기준에 따라 리소스를 필터링하는 방법을 알아봅니다.

프로세스

  • "foo"라는 이름이 포함된 그룹을 찾으려면 다음을 사용합니다.

    http://<gateway server name>/api/controller/v2/groups/?name__contains=foo
    Copy to Clipboard Toggle word wrap
  • 정확한 일치 항목을 찾으려면 다음을 사용합니다.

    http://<gateway server name>/api/controller/v2/groups/?name=foo
    Copy to Clipboard Toggle word wrap
  • 리소스가 정수 유형인 경우 문자열 입력 값을 정수로 캐스팅하려면 \_\_int 를 끝에 추가해야 합니다.

    http://<gateway server name>/api/controller/v2/arbitrary_resource/?x__int=5
    Copy to Clipboard Toggle word wrap
  • 다음을 사용하여 관련 리소스를 쿼리할 수 있습니다.

    http://<gateway server name>/api/gateway/v1/users/?first_name__icontains=kim
    Copy to Clipboard Toggle word wrap

    이렇게 하면 "kim" 문자열이 포함된 이름이 있는 모든 사용자가 반환됩니다.

  • 한 번에 여러 필드에 대해 필터링할 수도 있습니다.

    http://<gateway server name>/api/controller/v2/groups/?name__icontains=test&has_active_failures=false
    Copy to Clipboard Toggle word wrap

    그러면 활성 오류가 없는 "test"가 포함된 모든 그룹이 검색됩니다.

    또한 UI가 사용되는 동안 API에서 다양한 기준으로 필터링하는 방법을 확인할 수 있습니다.

추가 리소스

6.1. API의 고급 쿼리

지정된 값과 일치하는 항목으로 반환된 결과 목록을 필터링하는 데 사용되는 추가 쿼리 문자열 매개변수를 사용할 수 있습니다. 필터링을 위해 데이터베이스에 존재하는 필드 및 관계만 사용할 수 있습니다.

지정된 값의 특수 문자가 URL로 인코딩되었는지 확인합니다. 예를 들면 다음과 같습니다.

?field=value%20xyz
Copy to Clipboard Toggle word wrap

필드는 데이터베이스에 정의된 필드 및 관계에 대해서만 관계를 확장할 수도 있습니다.

?other__field=value
Copy to Clipboard Toggle word wrap

특정 기준과 일치하는 결과를 제외하려면 field 매개변수 앞에 not__: 접두사를 지정합니다.

?not__field=value
Copy to Clipboard Toggle word wrap

기본적으로 모든 쿼리 문자열 필터는 AND로 연결되므로 모든 필터와 일치하는 결과만 반환됩니다. 여러 조건 중 하나와 일치하는 결과를 결합하려면 각 쿼리 문자열 매개변수 앞에 or__ 를 붙입니다.

?or__field=value&or__field=othervalue
?or__not__field=value&or__field=othervalue
Copy to Clipboard Toggle word wrap

기본 AND 필터링에서는 여러 데이터베이스 관계에 걸쳐 필터링되는 각 관련 오브젝트에 모든 필터를 동시에 적용합니다. 반면 체인 필터는 각 관련 오브젝트에 필터를 개별적으로 적용합니다. 이를 사용하려면 query 문자열 매개변수 앞에 chain__: 접두사를 붙입니다.

?chain__related__field=value&chain__related__field2=othervalue
?chain__not__related__field=value&chain__related__field2=othervalue
Copy to Clipboard Toggle word wrap

첫 번째 쿼리를 ? 관련field=value&relatedfield2=othervalue 로 작성하는 경우 관련 개체가 두 조건을 모두 충족하는 기본 오브젝트만 반환합니다. 체인 필터를 사용하여 작성된 대로 각 조건과 일치하는 기본 오브젝트의 교집합을 반환합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat