개발자 프록시는 행복한 경로를 넘어 간편하게 앱을 테스트하는 데 도움이 되는 API 시뮬레이터입니다.
앱을 테스트하여 의도한 대로 작동하는지 확인합니다. 그러나 사용하는 API가 실패하면 어떻게 될까요? 앱에서 고객의 데이터가 손실될까요? 이를 테스트하려면 어떻게 해야 할까요? API 오류를 시뮬레이션하는 것은 어렵습니다. 결국 배포되지 않는 코드를 작성하게 되거나, 더 나쁜 경우에는 전혀 테스트하지 않게 됩니다. 따라서 코드를 변경하지 않고도 앱을 쉽게 테스트할 수 있도록 API 오류를 시뮬레이션하기 위해 개발 프록시를 빌드했습니다.
개발자 프록시를 사용하여 다음을 수행합니다.
- 더 강력한 앱을 빌드하고 고객의 데이터를 잃지 않도록 앱의 코드를 변경하지 않고 앱이 API 오류에 응답하는 방법을 확인합니다.
- 앱이 API 속도 제한을 처리하는 방법을 확인하여 제한되지 않도록 하고 고객에 대한 사용자 환경을 개선할 수 있습니다.
- 앱이 느린 API를 처리하는 방법을 확인하여 필요한 어패던스를 구현하고 앱을 보다 사용자 친화적으로 만들 수 있습니다.
- 코드 줄을 작성하지 않고 모의 API를 신속하게 스탠드업하여 배송하지 않을 코드를 작성하는 대신 앱을 빌드하는 데 집중할 수 있습니다.
- API를 사용하는 방법에 대한 상황별 지침으로 앱을 개선하여 앱을 더욱 향상시킵니다.
개발자 프록시는 모든 플랫폼에서 작동하는 명령줄 도구입니다. 네트워크 요청을 가로채기 때문에 모든 유형의 앱 및 기술 스택에서 작동합니다. 개발자 프록시는 오픈 소스 무료로 사용할 수 있습니다.
개발자 프록시는 누구를 위한 것인가요?
개발자 프록시는 다음을 수행할 개발자에게 도움을 줍니다.
- API를 호출하는 앱 빌드 - 코드를 변경하지 않고 앱이 GitHub, OpenAI 및 Anthropic 같은 API에서 오류 및 속도 제한을 처리하는 방법을 테스트합니다.
- Microsoft Graph를 사용하여 앱 빌드 - 사용 권한 및 모범 사례에 대한 지침 가져오기
- 디자인 API - 구현 전 프로토타입 및 모의 API
- 테스트 자동화 - CI/CD 파이프라인에 비정상 상황 테스트 통합
개발자 프록시를 사용하는 경우
다음을 수행해야 하는 경우 개발자 프록시를 사용합니다.
- 애플리케이션 코드를 수정하지 않고 API 복원력 테스트
- 모든 기술 스택(브라우저, Node.js, .NET, Python 등)으로 작업
- 제어하지 않는 API에 대한 오류 시뮬레이션
- Microsoft Graph 모범 사례에 대한 지침 가져오기
- CI/CD 파이프라인에서 비정상 상황 테스트 자동화
다음과 같은 경우 다른 방법을 고려합니다.
- 프론트엔드 단위 테스트를 위해 브라우저에서만 모의가 필요합니다.
- API를 빌드하고 계약 테스트가 필요합니다.
- 프로그래밍 방식으로 요청/응답 본문을 수정해야 합니다(개발자 프록시는 이 작업을 수행할 수 있지만 전용 도구는 더 간단할 수 있음).
시나리오별 빠른 시작
수행하려는 항목에 따라 경로를 선택합니다.
| 무엇을 하고 싶으세요? | 시간 | Guide |
|---|---|---|
| 앱이 API 오류를 어떻게 처리하는지 테스트하십시오 | 5분 | 무작위 오류 테스트 |
| 앱이 GitHub API 요청 한도를 처리하는지 테스트합니다. | 15분 | GitHub API 요청 한도 테스트 |
| 앱이 OpenAI 요청 한도를 처리하는지 테스트합니다. | 10분 | OpenAI 속도 제한 테스트 |
| 아직 존재하지 않는 API 모의 | 10분 | CRUD API 시뮬레이션 |
| Microsoft Graph 사용 권한 확인 | 10분 | 최소 권한 검색 |
| 내 앱에서 호출하는 API 이해 | 5분 | 시청할 URL 검색 |
| CI/CD에서 API 테스트 자동화 | 15분 | CI/CD에서 개발 프록시 사용 |
API 문제 해결
API에서 오류가 발생했거나 AI 앱 또는 에이전트를 빌드하는 중이신가요? 문제에서 시작:
- 오류 및 제한:429 너무 많은 요청, Retry-After, 500, 502, 503 및 504 오류, GitHub API 요청 한도 초과, OpenAI 요청 한도 도달, Anthropic 529 overloaded_error, .NET HttpClient 시간 제한
- AI 앱 및 에이전트:LLM 요청 한도, 코딩 에이전트가 작성한 오류 처리 확인, 도구가 실패할 때 AI 에이전트가 수행하는 작업 테스트, 도구 응답의 프롬프트 인젝션에 대해 AI 에이전트 테스트
사전 설정을 사용하여 사용해 보기
사전 설정은 특정 API에 대해 미리 만들어진 개발 프록시 구성입니다. 앱이 호출하는 API의 속도 제한 및 오류를 처리하는 방법을 확인하려면 먼저 Dev Proxy를 설치합니다.
winget install DevProxy.DevProxy --silent
설치가 완료되면 업데이트된 PATH가 적용되도록 새 명령 프롬프트를 엽니다.
brew tap dotnet/dev-proxy
brew install dev-proxy
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
다음으로, API용 사전 설정을 다운로드합니다.
| API | Command |
|---|---|
| GitHub | devproxy config get github-rate-limiting |
| OpenAI | devproxy config get openai-throttling |
| Anthropic | devproxy config get anthropic-throttling |
| Microsoft Graph | devproxy config get microsoft-graph-rate-limiting |
사전 설정을 사용하여 개발 프록시를 시작합니다.
github-rate-limiting을 다운로드한 사전 설정으로 바꿉니다. Dev Proxy를 처음 시작할 때 Dev Proxy의 인증서를 신뢰해야 합니다.
devproxy --config-file "~dataFolder/configs/github-rate-limiting/.devproxy/devproxyrc.json"
평소와 같이 앱을 실행합니다. 실제 API URL을 계속 호출하고 Dev Proxy는 API의 속도 제한 및 오류를 시뮬레이션합니다.
다른 API에 대한 사전 설정은 Dev Proxy samples gallery를 참조하세요.
앱에서 API 오류를 어떻게 처리하나요?
참고하십시오
Dev Proxy