728x90
반응형

api계약 3

Apollo Contracts

개요Apollo Contracts는 Apollo GraphQL 생태계에서 클라이언트와 서버 간 데이터 계약(Contract)을 명시적으로 정의하고 검증하는 기능이다. 이는 GraphQL Federation 구조에서 각 서비스가 제공하는 필드를 기준으로 소비자(Consumer)와 공급자(Provider) 간의 정확한 연결 상태를 보장함으로써, 스키마 충돌, 의도치 않은 변경, 비호환성 문제를 예방할 수 있도록 설계되었다.1. 개념 및 정의Apollo Contracts는 클라이언트가 실제 사용하는 GraphQL 필드, 쿼리, 타입을 기반으로 "사용 계약"을 생성하고, 서버에서는 해당 계약을 기준으로 스키마 유효성 검사를 수행한다. 이는 GraphQL Federation에서 서비스 간 분산 스키마를 사용할 때..

Topic 2025.06.22

Pact

개요Pact는 마이크로서비스 환경에서 서비스 간 통신 계약(API Contract)을 코드로 정의하고, 이를 기반으로 생산자(Producer)와 소비자(Consumer) 간의 상호 기대를 자동 검증할 수 있게 해주는 오픈소스 계약 기반 API 테스트 프레임워크이다.1. 개념 및 정의 항목 설명 정의소비자 중심의 계약(Contract)을 기반으로 API 동작을 검증하는 오픈소스 테스트 프레임워크주요 목적마이크로서비스 간 통신 안정성 확보, 계약 위반 사전 감지구성 모델Consumer → Pact 정의 → Pact Broker → Provider 검증Pact는 Producer와 Consumer 간 사양 불일치로 인한 장애를 방지하는 데 핵심적인 역할을 수행한다.2. 특징특징설명기존 방식과 차이점소비자 중심..

Topic 2025.06.21

Contract-First API 테스트

개요Contract-First API 테스트는 API의 동작 구현 이전에 먼저 정의된 명세(Contract)를 기반으로 테스트를 자동 생성하고 검증하는 방식이다. OpenAPI(Swagger), AsyncAPI 등의 사양을 기반으로 요청/응답 구조, 필드 유효성, 에러 처리 등을 사전에 정의하고, 이를 기준으로 테스트 자동화를 수행함으로써 사양 일관성과 서비스 품질을 동시에 확보할 수 있다.1. 개념 및 정의 항목 내용 정의API 동작 구현보다 먼저 작성된 명세(Contract)를 기준으로 테스트 케이스를 생성하고 검증하는 접근 방식주요 도구Postman, Dredd, Schemathesis, Stoplight, Pact 등적용 대상RESTful API, gRPC, GraphQL, 이벤트 기반 API ..

Topic 2025.06.21
728x90
반응형