AI & Data를 활용하는 기술경영자

REST API 본문

Genetic algorithm

REST API

Data_Lover 2022. 8. 1. 11:00
728x90

 API란 무엇일까?

Interface란 어떠한 두 가지(사람-사람, 사람-기계,기계-기계)가 서로 연결되고 영향을 미칠 수 있는 장소/방법/상황을 의미합니다.

 

Application Programming Interface의 약자로 응용프로그램 간에 데이터를 주고받는 방법을 의미합니다.

그러한 이유로, api를 쓸 때는 api메뉴얼에 대한 공부를 한 후에 사용하는 것을 권장합니다.

 

예시: 공공데이터 오픈  API, 증권사 API, 알라딘 API, 카카오 API

 

API는 왜 생겼을까 그리고 장점은?

 

API를 활용해서 다양한 서비스가 나오게 되면 회사의 경쟁력이 악화될 수도 있는데 왜? API를 기업들이 만들었을까?

그 이유는 서비스의 복잡도가 점점 증가하게 되어서 전문적으로 하나의 로직만 만들어서는 되지 않는다는 깨달음에 있습니다.

그러므로, 하나의 큰 것을 만드는 것이 아닌 확정성을 고려하여 설계하는 것으로 기능을 최대한 작게 분류하면서 개별로 수행할 수 있게 하려면 API로 연동이 되어있어야 했습니다. 그러면, 다양한 방식으로 빠르게 그리고 안정성있게 모듈을 만들 수 있게 되었습니다. 이로 인해서, api를 활용하니 빠르고 유연한 비즈니스의 변화를 이끌어냅니다.

추가적으로, 회사 내부에 특정 개발을 할 수 없다면 외주 업체에 api를 제공하여 적은 비용으로 빠른 시스템을 도입할 수 있게 되어서 비즈니스 품질 향상이 되었습니다.

 

하나의 기업이 어떤 목적으로 인해서 API를 개방하면서 외주를 맡기거나 이용료 청구를 통해서 API기반의 생태계를 구축합니다.

 

REST API란?

REST API는 REST의 형식을 따르는 API입니다.

REST는 Representational State Transfer의 약자로 HTTP에서 필요한 자원에 접근할 때 웹의 장점을 최대한 활용하기 위해서 만든 아키텍처입니다.

실습을 통해서 자세히 알아보도록 하겠습니다.

 

REST API의 구성요소

  • HTTP Method
    • 행위에 대한 것입니다.
    • GET : 데이터 조회
    • POST: 새로운 데이터 추가
    • PUT: 데이터 전체 수정
    • PATCH: 데이터 일부 수정
    • DELETE: 정보 삭제
  • URL
    • 데이터 접근
  • Representation
    • 자원의 표현

REST API의 자원 표현을 위한 URL 설계 규칙

  • 소문자만 사용
  • 하이픈(-)은 사용하지 않고 밑줄(_)을 사용
  • 확장자를 표시하지 않음

 

실습

 

Google Books APIs

URL: https://developers.google.com/books/docs/v1/using

 

Using the API  |  Google Books APIs  |  Google Developers

Using the API Contents Introduction This document is intended for developers who want to write applications that can interact with the Books API. Google Books has a mission to digitize the world's book content and make it more discoverable on the Web. The

developers.google.com

## 제목
GET  https://www.googleapis.com/books/v1/volumes?q=숨그네

###작가
GET  https://www.googleapis.com/books/v1/volumes?q=김초엽

### isbn

GET https://www.googleapis.com/books/v1/volumes?q=9791155811566

 

YTS Movies APIs

URL: https://yts.mx/api 

 

API Documentation - YTS YIFY

Official YTS YIFY API documentation. YTS offers free API - an easy way to access the YIFY movies details.

yts.mx

GET https://yts.mx/api/v2/list_movies.json

##파라미터 지정


GET https://yts.mx/api/v2/list_movies.json
  ?minimum_rating = 8.5
  &sort_by = year
  &limit = 1

## 

GET https://yts.mx/api/v2/list_movies.json
  ?minimum_rating = 8.5
  &sort_by = year
  &limit = 5
  &genre=Sci-Fi

 

Kakao map APIs

 

URL: Kakao 지도 Web API 가이드

#Insomnia를 활용

#Creat Map
get = " dapi.kakao.com/v2/maps/sdk.js?appkey=발급받은 APP KEY를 넣으시면 됩니다."

#Search by ID 
## 카카오 맵 띄우기
get = https://map.kakao.com/link/map/18577297

GraphQL

공식문서: https://graphsql.org/

한글 문서:https://graphql-kr.github.io/

 

배경

Ios, Android등 다양한 기기에서 필요한 정보의 형태가 조금씩 달랐고 기존의 REST API로는 이것을 일일이 구현하는 것이 어려웠기에 정보를 요청하는 쪼에서 직접 원하는 형태로 정보를 가져오고 수정할 수 있는 Query Language가 필요하게 되었다.

 

API 제작도구이고 데이터 관리 목적을 위해서 만들어진 새로원 Query Language입니다.

서버 api로 정보를 주고 받는 것에 특화된 것으로 API를 위한 쿼리 언어로 불린다.

 

 

Summary

오늘 배운 것

  • REST API의 정의
  • REST API의 구성요소
  • REST API URL 설계규칙
  • REST API 키 발급(예시)
  • developer console: Insomina
728x90