CS/이론

OAS(Open API Specification)

Hamp 2025. 7. 4. 09:51
반응형

👋 들어가기 전

우리는 "서버"라는 고마운 친구 덕분에 앱에 필요한 다양한 정보를 클라이언트에서 관리할 필요가 없다.

또한 서버의 존재가 앱 크기를 줄이는데 굉장히 기여한다고 생각한다.

 

많은 기능이 서비스에 추가되면 당연히 API가 늘어나고, 클라이언트는 API가 추가될 때 마다

 

다음과 같은 처리를 공통적으로 해준다.

  • 요청 / 응답에 대한 DTO 정의
  • API 요청 함수
  • DataSource 정의 등

경우에 따라 더 많은 작업이 있지만, 보통 위 3가지 작업은 API 하나 추갈될 때 공통적으로 진행되는 작업이다.

 

위 작업들을 휴먼에러가 빈번히 발생할 수 있고, 다른 클라이언트 개발자와 간극이 발생할 수 있다.

 

사실 제일 문제는 너무 귀찮다..

 

이런 문제를 쉽게하주는 도구가 바로 OpenAPI Generator를 써볼려고한다.

 

하지만 그전에 이번 포스팅에서는 우리가 써보려는 OpenAPI Generator를 사용하기위한
사전 지식을 알아보자.

 

🏁 학습할 내용

  • OAS란?
    • 등장 배경
    • 역사
  • Swagger와 관계

✅ OAS란?

OAS는 RESTful API를 쉽게 관리하고 사용할 수 있도록 도와주는 표준 명세서다. (JSON 또는 YAML 형식으로 제공)

 

조금 더 구체적으로 말하면 OAS는 RESTful API의 동작 방식(엔드포인트, HTTP 메서드, 요청 및 응답 데이터 구조)

등을 명확하게 정의하여 생산성을 대폭 향상 시켜줍니다.

 

🚀 등장 배경

1990년대 웹의 등장과 함께 서버 간 통신을 위한 API 사용이 늘어나면서, 서로 다른 시스템 간의
원할한 상호 작용을 위한 표준이 필요했습니다.

 

요약하면, OpenAPI는 웹 서비스의 성장과 API 생태계의 확산 속에서 상호 운용성을 높이고,

개발편의성을 증진하기위한 목적으로 등장했습니다.

 

⏰ 역사

OAS란 명칭을 얻는 과정을 시간순으로 알아보자.

 

등장

Swagger는 2010년 초에 Wordnik에서 근무하다는 Tony Tam에 의해 회사 자체 API UI로 개발됐다.

인수

2015년 3월 SmartBear SoftwareWordnik의 모회사 Reverb Technologies로부터 Swagger API를 인수했다.

기증

2015년 11월 SmartBear SoftwareLinux Foundation의 후원으로 OpenAPI Initiative라는 새로운 조직에
Swagger를 기증했다.

명칭 변경

2016년 1월 1일 Swagger은 OAS로 이름이 변경됐다.


🥊 OAS vs Swagger

역사를 알아보니 OAS는 처음에 Swagger에서 시작됐다는 것을 알 수 있다.

하지만 현재는 정의에 대한 중요한 차이가 있다.

 

OAS(Open API Specification)

RESTful API 디자인에 대한 정의 (표준 명세서)

 

OpenAPI는 API를 설계하고 문서화 하는데 중점을 두고 있다.

 

Swagger

OAS를 구현하기 위한 Tool

 

API를 시각적으로 표현하는데 중점을 두고 있다.

  • Swagger Editor: 브라우저 기반의 편집기 OAS을 쉽게 작성 및 수정
  • Swagger UI: 우리에게 익숙한 OAS 문서를 브라우저에 표시, Test도 가능
  • Swagger CodeGen: OAS에 맞게 Sever or Client의 Stub Code 생성

출처

 

OAS(Open API Specification) | 토스페이먼츠 개발자센터

OAS는 개발자가 RESTful API를 쉽게 관리하고 사용할 수 있게 도와주는 표준 명세 작성 방식이에요. OAS는 공개 API든 비공개 API든 그 구조와 작동 방식을 명확하게 문서화할 때 사용할 수 있어요.

docs.tosspayments.com

 

 

OpenAPI Specification - Wikipedia

From Wikipedia, the free encyclopedia A specification for machine-readable interface files OpenAPIYear started2010 (2010)First published10 August 2011 (2011-08-10)Latest version3.1.124 October 2024 (2024-10-24)Websiteopenapis.org The OpenAPI Specifi

en.wikipedia.org

 

 

OpenAPI 란? (feat. Swagger)

Overview 이 문서에서는 API의 기본적인 정의는 알고 있다는 전제하에 OpenAPI와 Swagger의 개념, 차이점, 비교적 최근(2017-07-26) 업데이트한 OpenAPI 3.0에 대해서 알아보도록 하겠습니다. 1. OpenAPI? Open API?

gruuuuu.github.io

 

반응형