Seize your moment! ๐Ÿ‘พ

์•ˆ๋…•ํ•˜์„ธ์š”. Eric์ž…๋‹ˆ๋‹ค. ์ œ ๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ฐœ๋ฐœ๊ณต๋ถ€/Computer Science

[Eric's CS] OpenAPI vs Open API ? ๋‹ค๋ฅธ๊ฑฐ์•ผ? ๐Ÿง

Eric_ko 2023. 4. 7. 07:17

โœ… Abstract

์š”์ฆ˜ API๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ํ˜‘์—…์— ์žˆ์–ด์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

์ด๋•Œ ์ข…์ข… "OpenAPI"์™€ "Open API"๋ผ๋Š” ์šฉ์–ด๋ฅผ ๋“ฃ๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๋‘˜์€ ์„œ๋กœ ๋‹ค๋ฅธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธ€์—์„œ๋Š” OpenAPI์™€ Open API์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด๊ณ , ๊ฐ๊ฐ์ด ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

1๏ธโƒฃ OpenAPI 

OpenAPI๋Š” RESTful API ๋ช…์„ธ๋ฅผ ๊ธฐ์ˆ ํ•˜๊ณ  ๋ฌธ์„œํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€์ž…๋‹ˆ๋‹ค. OpenAPI Specification(OAS)์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ์ฒ˜์Œ์—๋Š” Swagger Specification์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ช…์„ธ๋Š” API์˜ ์—”๋“œํฌ์ธํŠธ, ์š”์ฒญ/์‘๋‹ต ํ˜•์‹, ์ธ์ฆ ๋ฐฉ์‹ ๋“ฑ API์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ JSON ๋˜๋Š” YAML ํ˜•์‹์œผ๋กœ ๊ธฐ์ˆ ํ•ฉ๋‹ˆ๋‹ค.

OpenAPI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋“ค์ด API๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ผ๊ด€๋˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, OpenAPI ๋ฌธ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ API ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„ ์Šค์ผˆ๋ ˆํ†ค ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋„๊ตฌ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OpenAPI์˜ ์ฃผ์š” ์ด์ 

- ์ผ๊ด€์„ฑ: API๊ฐ€ ํ‘œ์ค€ํ™”๋œ ํ˜•์‹์œผ๋กœ ๋ฌธ์„œํ™”๋˜์–ด ์žˆ์œผ๋ฉด, ๊ฐœ๋ฐœ์ž๋“ค์ด ๋” ์‰ฝ๊ฒŒ API๋ฅผ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- ์ž๋™ํ™”: OpenAPI ๋ฌธ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์„œ๋ฒ„ ์Šค์ผˆ๋ ˆํ†ค ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ์ค„์ด๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- ํ˜‘์—…: OpenAPI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ช…์„ธ์— ๋”ฐ๋ผ API๋ฅผ ์„ค๊ณ„ํ•˜๊ณ , ๋‹ค๋ฅธ ํŒ€์›๋“ค๊ณผ ์‰ฝ๊ฒŒ ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

OpenAPI ์˜ˆ์‹œ

- ex ) ์ฑ…๊ด€๋ฆฌ API๋ฅผ OpenAPI Specification 3.0 YAML ํ˜•์‹์œผ๋กœ์ •์˜

openapi: 3.0.0
info:
  title: Book Management API
  description: A simple API for managing a collection of books.
  version: 1.0.0

servers:
  - url: https://api.example.com/v1

paths:
  /books:
    get:
      summary: Get all books
      description: Retrieve a list of all books in the collection.
      responses:
        '200':
        
        ......

 

https://swagger.io/


2๏ธโƒฃ Open API

"Open API"๋Š” ๋‹ค๋ฅธ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ Open API๋Š” ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์›น API๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ API๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ํŠน์ • ์‚ฌ์šฉ๋Ÿ‰์— ๋”ฐ๋ผ ์š”๊ธˆ์„ ์ง€๋ถˆํ•˜๋„๋ก ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. Open API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋“ค์ด ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์—ฌ๋Ÿฌ ์†Œ์…œ ๋ฏธ๋””์–ด ํ”Œ๋žซํผ, ์ง€๋„ ์„œ๋น„์Šค, ๋‚ ์”จ ์ •๋ณด, ๊ฒฐ์ œ ์‹œ์Šคํ…œ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” API๋Š” ๋ชจ๋‘ Open API์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ Open API๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๋“ค์€ ๋น ๋ฅด๊ฒŒ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ณต์žกํ•œ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ตฌ์ถ•ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

Open API์˜ ์ฃผ์š” ์ด์ 

- ๋น ๋ฅธ ๊ฐœ๋ฐœ: Open API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋“ค์ด ๋น ๋ฅด๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ์ค„์ด๊ณ  ๋น„์šฉ์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- ์œ ์ง€ ๋ณด์ˆ˜: Open API ์ œ๊ณต์ž๊ฐ€ API๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ, ๊ฐœ๋ฐœ์ž๋“ค์€ API ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ ๊ฑฑ์ • ์—†์ด ์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- ๋ฒ”์šฉ์„ฑ: Open API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๊ฐœ๋ฐœ์ž๋“ค์ด ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ๋ฐ ์„œ๋น„์Šค์— ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Open API ์˜ˆ์‹œ

https://www.data.go.kr/

 

๊ณต๊ณต๋ฐ์ดํ„ฐ ํฌํ„ธ

๊ตญ๊ฐ€์—์„œ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผใ€Ž๊ณต๊ณต๋ฐ์ดํ„ฐ์˜ ์ œ๊ณต ๋ฐ ์ด์šฉ ํ™œ์„ฑํ™”์— ๊ด€ํ•œ ๋ฒ•๋ฅ (์ œ11956ํ˜ธ)ใ€์— ๋”ฐ๋ผ ๊ฐœ๋ฐฉํ•˜์—ฌ ๊ตญ๋ฏผ๋“ค์ด ๋ณด๋‹ค ์‰ฝ๊ณ  ์šฉ์ดํ•˜๊ฒŒ ๊ณต์œ •ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณต๊ณต๋ฐ์ดํ„ฐ(Datase

www.data.go.kr

 

๐ŸŒฒ์ •๋ฆฌ

OpenAPI์™€ Open API๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.

OpenAPI๋Š” RESTful API ๋ช…์„ธ๋ฅผ ๊ธฐ์ˆ ํ•˜๊ณ  ๋ฌธ์„œํ™”ํ•˜๋Š” ํ‘œ์ค€์ด๋ฉฐ, ๊ฐœ๋ฐœ์ž๋“ค์ด API๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด, Open API๋Š” ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์›น API๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๊ฐœ๋ฐœ์ž๋“ค์ด ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋‘ ์šฉ์–ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๊ตฌ๋ถ„ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด, ๋” ํšจ๊ณผ์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

 

'๐Ÿ’ป ๊ฐœ๋ฐœ๊ณต๋ถ€ > Computer Science' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Eric's CS] Sanity Test ๋ž€? ๐Ÿง  (0) 2023.04.19