<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>계약 테스트 on 얼쑤 · Team Edo</title><link>https://team-edo.github.io/tags/%EA%B3%84%EC%95%BD-%ED%85%8C%EC%8A%A4%ED%8A%B8/</link><description>Recent content in 계약 테스트 on 얼쑤 · Team Edo</description><generator>Hugo</generator><language>ko-kr</language><lastBuildDate>Tue, 03 Nov 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://team-edo.github.io/tags/%EA%B3%84%EC%95%BD-%ED%85%8C%EC%8A%A4%ED%8A%B8/index.xml" rel="self" type="application/rss+xml"/><item><title>문서 주소 없이 FastAPI 계약 검증</title><link>https://team-edo.github.io/posts/2026/11/generate-private-openapi-contract/</link><pubDate>Tue, 03 Nov 2026 00:00:00 +0900</pubDate><guid>https://team-edo.github.io/posts/2026/11/generate-private-openapi-contract/</guid><description>&lt;p>백엔드가 호출하는 분석 API의 요청과 응답을 한곳에서 읽을 수 있게 만들고 싶었습니다. 분석 서버는 내부에서만 호출하는 구성이라 운영에 문서 조회 주소를 열 필요는 없었습니다. 또 이미 사용 중인 응답에는 상태마다 다른 필드와 JSON 이름이 있어서, 문서를 붙이는 작업이 기존 직렬화까지 바꾸면 호출자에 영향이 갈 수 있었습니다.&lt;/p>
&lt;h2 id="스키마-생성과-문서-조회-주소를-분리했다">스키마 생성과 공개 경로 분리&lt;/h2>
&lt;p>FastAPI의 &lt;code>docs_url&lt;/code>, &lt;code>redoc_url&lt;/code>, &lt;code>openapi_url&lt;/code> 설정은 꺼 둔 채, 앱 객체의 &lt;code>app.openapi()&lt;/code>에서 문서를 생성하도록 했습니다. 개발 환경에서 JSON을 파일로 저장해 문서를 읽을 수 있습니다. HTTP 테스트에는 문서 관련 경로 세 곳이 모두 404를 반환하는지도 추가했습니다. &lt;a href="https://fastapi.tiangolo.com/tutorial/metadata/#openapi-url">FastAPI의 문서 URL 설정&lt;/a>&lt;/p></description></item></channel></rss>