- Published on
2026.02.27
[실전 API 설계] - 16. OpenAPI 합성을 사용한 스키마 설계
16.2. 도메인 모델 다형성과 상속
서브타이핑 관계에서는 서브타입이 슈퍼타입을 상속받는다.
16.4. OpenAPI의 다형성과 상속
OpenAPI에는 상속과 관련해 allOf, anyOf,oneOf, not라는 4가지 합성 키워드가 있다.

- allOf: 스키마가 다른 여러 스키마의 합성을 통해 정의됨, 다른 스키마의 모든 속성을 가짐. 입력값을 모두 충족해야 유효함.
- anyOf: 스키마가 다른 여러 스키마의 조합을 통해 정의됨, 다른 스키마 중 하나 이상의 스키마에 있는 속성을 가짐. 입력값이 하나 이상의 스키마에 유효하면 유효함.
- oneOf: 스키마가 다른 여러 스키마 중 오직 하나의 스키마를 통해 정의됨, 입력값이 하나의 스키마에만 유효해야 함. 이미지에서 검은 동그라미는 2개 이상의 스키마에 유효했으므로 유효하지 않은 것으로 판정.
- not: not으로 지정된 스키마의 유효성 검증을 통과하지 않아야 유효성이 인정됨.
다음과 같이 요약할 수 있음
- allOf: AND, 교집합
- anyOf: OR, 합집합
- oneOf: XOR, 대칭차집합