FastAPI는 표준 Python 타입 힌트를 기반으로 Python(버전 3.8+)으로 API를 구축하는 데 사용할 수 있는 최신의 빠른 웹 프레임워크입니다. 많은 개발자들이 FastAPI를 매우 높은 성능을 제공하는 표준 기반 Python 프레임워크(OpenAPI 및 JSON 스키마 기반)로 의존하고 있기 때문에, FastAPI는 개발자의 API 개발 도구로 점점 더 인기를 얻고 있습니다.
이전 API 도구에 대한 대안을 찾고 있다면, 오늘 Apidog을 고려해보세요 - Apidog은 매우 사용하기 쉬운 간단하고 직관적인 사용자 인터페이스를 제공합니다. 아래 버튼을 클릭하여 오늘 Apidog을 사용해 보세요! 👇 👇 👇
API가 서버와 함께 작동하려면 클라이언트가 API와 통신할 수 있어야 합니다. 결과적으로 클라이언트 측에서는 특정 데이터를 요청하기 위해 웹 주소의 도움을 받아 쿼리 매개변수(및 상황에 따라 경로 매개변수)를 사용합니다. 따라서 이 기사는 FastAPI 쿼리 매개변수가 무엇인지, 어떻게 애플리케이션에 활용할 수 있는지를 자세히 설명할 것입니다.
FastAPI 쿼리 매개변수란 무엇입니까?
FastAPI 쿼리 매개변수는 기본적으로 FastAPI 프레임워크의 맥락에서 사용되는 일반적인 쿼리 매개변수를 나타냅니다. 그들은 클라이언트가 웹 주소(또는 URL)를 통해 API 엔드포인트에 추가 정보를 전달하는 또 다른 방법입니다.

FastAPI 쿼리 매개변수의 주요 특징
다른 유형의 쿼리 매개변수와 비교할 때 FastAPI 쿼리 매개변수에 접근하는 방법에는 약간의 차이가 있습니다.
함수 매개변수에 선언됨: URL 경로의 일부인 경로 매개변수와 달리, 쿼리 매개변수는 API 엔드포인트 내의 함수 매개변수로 정의됩니다. 명시적으로 경로 매개변수로 선언되지 않은 매개변수는 쿼리 매개변수로 처리됩니다.
코드>Query 함수로 접근됨: 엔드포인트 함수 내에서 쿼리 매개변수에 접근하기 위해, fastapi 라이브러리의 Query 함수를 사용합니다. 이 함수는 다음과 같은 여러 인수를 받을 수 있습니다:
default: 요청에서 매개변수가 제공되지 않을 경우 사용할 기본값입니다.description: 문서화 목적으로 매개변수에 대한 설명입니다.
선택적 및 필수: 쿼리 매개변수는 선택적이거나 필수일 수 있습니다. 기본값을 설정하면 매개변수가 선택 사항이 됩니다. 기본값을 생략하면 클라이언트가 요청에서 매개변수를 제공해야 하는 의무가 생깁니다.

FastAPI 쿼리 매개변수 사용 예(코드 스니펫 포함)
[이 섹션에 제공된 코드 스니펫은 수정이 필요하며, 코드 요구 사항에 맞지 않을 수 있습니다]
1. 페이지네이션
FastAPI 쿼리 매개변수를 활용하여 대량의 기록이나 항목을 분리하고 더 작은 그룹으로 나눌 수 있습니다. 이는 사용자에게 한 번에 너무 많은 정보로 압도당하는 것을 방지할 수 있습니다.
from fastapi import FastAPI, Query app = FastAPI() @app.get("/items") async def get_items(skip: int = Query(default=0), limit: int = Query(default=10)): # skip 및 limit 값을 기반으로 데이터베이스에서 항목을 검색하는 로직 return items
추가 설명:
이 코드 예제에서 skip 및 limit는 쿼리 매개변수입니다. 기본적으로 처음 10개의 항목을 반환합니다(limit에 의해 제한됨). 이러한 값을 URL에서 수정하는 방법은 다음과 같습니다:
http://localhost:8000/items?skip=10&limit=20
이는 인덱스 10부터 항목을 검색합니다(처음 10개를 건너뜀) 인덱스 29까지(20에 의해 제한됨).
2. 필터링
FastAPI 쿼리 매개변수는 특정 기준에 따라 데이터를 필터링하는 데 활용할 수 있습니다.
아래 코드 예제는 제품을 검색하는 FastAPI 쿼리 매개변수를 보여줍니다.
from fastapi import FastAPI, Query app = FastAPI() @app.get("/products") async def get_products(category: str | None = Query(default=None), price_from: float | None = Query(default=None), price_to: float | None = Query(default=None)): # 카테고리 및 가격 범위에 따른 제품 필터링 로직 return products
추가 설명:
사용자는 제품 목록을 필터링하기 위해 category와 가격 범위(price_from 및 price_to)를 지정할 선택권이 있습니다.
3. 정렬
많은 개발자가 FastAPI 쿼리 매개변수가 데이터 정렬에 적합하다는 점을 발견했습니다.
from fastapi import FastAPI, Query app = FastAPI() @app.get("/users") async def get_users(sort_by: str = Query(default="name", choices=["name", "created_at"])): # 제공된 sort_by 매개변수를 기반으로 사용자를 정렬하는 로직 return users
추가 설명:
사용자는 API에서 반환된 사용자 목록을 name 또는 created_at으로 정렬하는 방법을 선택할 수 있습니다.
4. 검색
FastAPI 쿼리 매개변수는 많은 웹 애플리케이션에서 검색 기능을 구현하는 데 유용합니다.
FastAPI 쿼리 매개변수를 사용하면 다음 코드를 통해 검색어를 빠르게 캡처할 수 있습니다:
from fastapi import FastAPI, Query app = FastAPI() @app.get("/search") async def search(q: str = Query(default="")): # 검색어(q)를 기반으로 자원을 검색하는 로직 return search_results
추가 설명:
사용자는 q 매개변수에 검색어를 제공하여 특정 자원을 검색할 수 있습니다.
FastAPI 쿼리 매개변수에 대해 더 알고 싶다면 FastAPI 쿼리 매개변수 페이지를 방문하세요.
Apidog - FastAPI의 뛰어난 대안
FastAPI에 대한 훌륭한 대안은 Apidog입니다.
Apidog와 FastAPI는 쉬운 직관적인 사용자 인터페이스와 웹 산업 수준의 표준 등 많은 유익한 기능을 공유합니다. 그러나 Apidog가 돋보이는 점은 FastAPI가 갖지 않은 추가 기능입니다.

Apidog를 사용한 자동 클라이언트 코드 생성
Apidog는 다양한 프로그래밍 언어로 클라이언트 코드 생성을 용이하게 하여 새로운 개발자와 경험이 풍부한 API 개발자를 지원합니다.

Apidog 윈도우의 오른쪽 상단에 위치한 </> 버튼을 찾으세요. 이 버튼을 누른 후 Generate Client Code를 클릭하여 계속 진행합니다.

위 이미지에서 볼 수 있듯이 사용 가능한 코드를 제공하는 코드 쉘이 보입니다. 필요한 것은 코드를 복사해서 귀하의 코딩 플랫폼에 붙여넣는 것입니다. Python, JavaScript, Shell, Java와 같은 여러 프로그래밍 언어로 코드를 생성할 수 있습니다.
Apidog를 사용한 실제 시뮬레이션 테스트 시나리오
Apidog는 테스트 케이스에 여러 단계를 추가하고 API에 적합한 환경을 선택하여 실제 시나리오를 시뮬레이션할 수 있도록 합니다.

먼저 위 이미지에서 화살표 1이 가리키는 Testing 버튼을 찾으세요. 그 다음 화살표 2가 가리키는 + New Test Scenario를 보게 될 것입니다.

여기서 테스트 시나리오와 관련된 필요한 세부정보를 입력하십시오. 이름이 직관적이어야 나중에 테스트 시나리오가 무엇인지 기억하기 쉬워집니다.

"Add Step" 섹션을 클릭하여 테스트 시나리오에 단계(s)를 추가하세요. 아래 이미지를 볼 수 있어야 합니다.

드롭다운 메뉴에서 Import from API를 선택하세요.

테스트 시나리오에 포함할 모든 API를 선택하세요. 위의 예시에서는 NumberConversionSOAP라는 API가 포함되었습니다.

테스트 시나리오를 시작하기 위해 Run 버튼을 누르기 전에 테스트 시나리오 환경이 Testing Env로 변경되었는지 확인하세요(화살표 1이 가리킴).
한번 시도해 보세요, 당신의 API가 모든 요구 사항을 충족할 수 있는지 확인할 수 있습니다!
Apidog에서 요청에 대한 문서 생성하기
Apidog는 API 개발자가 프로젝트에서 수행한 내용을 바탕으로 API 문서 생성을 지원합니다.

시작하려면 먼저 화살표 1이 가리키는 "Share" 버튼을 찾고, 화살표 2가 가리키는 + New 버튼을 눌러주세요.

Apidog는 누가 API 문서를 볼 수 있는지 선택하는 옵션과 파일 비밀번호를 설정하여 선택된 개인이나 조직만 볼 수 있도록 합니다.
API 문서 이름과 언어와 같은 모든 필수 필드를 작성한 후, 키보드에서 Enter를 누르거나 Save 버튼을 클릭하세요.
API 문서 보기 또는 공유하기

Apidog은 귀하의 API 프로젝트 세부사항을 웹사이트 URL을 통해 볼 수 있는 API 문서로 컴파일합니다. 해야 할 일은 Actions 아래의 Copy Link 링크를 클릭하고, 좋아하는 브라우저에 URL을 붙여넣어 API 문서를 보는 것입니다!
관심이 있다면 Apidog을 사용하여 API 문서를 생성하는 방법에 대한 기사를 읽어보세요.
결론
FastAPI 쿼리 매개변수는 FastAPI API와 함께 사용할 수 있는 특별한 유형의 쿼리 매개변수입니다. 다른 쿼리 매개변수와 비슷하게 페이지네이션, 필터링, 검색 및 정렬 등의 기능을 수행합니다. JavaScript 쿼리 매개변수와 달리, FastAPI 쿼리 매개변수는 접근하는 방식이 다르며, FastAPI와 Query 라이브러리를 가져와야만 FastAPI 쿼리 매개변수를 구현할 수 있습니다.
Apidog는 API 개발 도구로서 FastAPI의 강력한 대체품입니다. 클라이언트 코드 생성, 자동 API 문서화 및 테스트 시나리오와 같은 인상적이고 유용한 기능들 덕분에 Apidog는 다운로드해야 할 유일한 애플리케이션입니다.



