Day2. REST API
REST API
API는 정보 제공자와 정보 사용자 간의 계약으로 지칭되며 소비자에게 필요한 콘텐츠(호출)와 생산자에게 필요한 콘텐츠(응답)를 구성합니다. 예를 들어 날씨 서비스용 API에서는 사용자는 우편번호를 제공하고, 생산자는 두 부분(첫 번째는 최고 기온, 두 번째는 최저 기온)으로 구성된 응답으로 답하도록 지정할 수 있습니다.
즉, 컴퓨터나 시스템과 상호 작용하여 정보를 검색하거나 기능을 수행하고자 할 때 API는 사용자가 원하는 것을 시스템에 전달할 수 있게 지원하여 시스템이 이 요청을 이해하고 이행하도록 할 수 있습니다.
API를 사용자 또는 클라이언트, 그리고 사용자와 클라이언트가 얻으려 하는 리소스 사이의 조정자로 생각하면 됩니다. API는 조직이 보안 및 제어를 유지관리(누가 무엇에 액세스할 수 있는지 결정)하면서 리소스와 정보를 공유할 수 있는 방법이기도 합니다.
API
Application Programming Interface
: 프로그램들이 서로 상호작용 하도록 도와주는 매개체
API를 사용하면 구현 방식을 알지 못해도 제품 또는 서비스가 서로 커뮤니케이션할 수 있으며 애플리케이션 개발을 간소화하여 시간과 비용을 절약할 수 있습니다. 새로운 툴과 제품을 설계하거나 기존 툴과 제품을 관리하는 경우 API는 유연성을 제공하고 설계, 관리, 사용 방법을 간소화하며 혁신의 기회를 제공합니다.
API는 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트로, 당사자들 간 계약을 나타내는 도큐멘테이션을 갖춘 계약으로 비유되기도 합니다. 한쪽 당사자가 특정한 방식으로 구성된 원격 요청을 보내면 다른 쪽 당사자의 소프트웨어가 이에 응답하는 방식이기 때문입니다.
API는 개발자가 새로운 애플리케이션 구성 요소를 기존 아키텍처에 통합하는 방식을 간소화하므로 비즈니스 팀과 IT팀 간의 협업에도 도움이 됩니다.
프로그램들이 서로 상호작용 하도록 도와주는 매개체
API를 통해 database에 정보를 요청
REST
Representational State Transfer
- 웹서버가 요청(API)을 응답하는 방법론 중 하나
- 개발자 간의 약속 (ex.객체지향 - 패러다임)
- 데이터가 아닌, 자원의 관점에서 접근
Think RESTful !!
REST API
REST(RESTful)란 프로토콜이나 표준이 아닌 아키텍처 원칙 세트입니다. API 개발자는 REST를 다양한 방식으로 구현할 수 있습니다.
RESTful API를 통해 요청이 수행될 때 RESTful API는 리소스 상태에 대한 표현을 요청자에게 전송합니다. 이 정보 또는 표현은 HTTP: JSON(Javascript Object Notation), HTML, XLT 또는 일반 텍스트를 통해 몇 가지 형식으로 전송됩니다.
HTTP URI를 통해 자원을 명시하고
(URI안에는 URL 같은 것이 있는데, 이는 Locate를 뜻하며 URI가 더 포괄적인 의미)
cf. 웹 상에서 정보를 요청할 때는, 요청하는 위치가 있어야한다.
HTTP Methond를 통해 해당 자원에 대한 CRUD를 진행 (요청 방법 :
GET
,POST
,PUT
,DELETE
함수 사용)
Cafe menu로 CRUD구현
cf. CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다.
GET
, POST
라는 Method를 이용하여 같은 자원에 대해 다른 Logic 구현
Flask 인스턴스 생성
app = Flask(__name__)
jsonify
: python의 dictionary Type을 JSON이라는 JAVA Script에서 사용되는 데이터 저장방식으로 바꿔줌
-> 데이터를 JSON형태로 바꾸어준다.
dictionary와 JSON은 완전히 같은 데이터 타입이 아니므로 변경해주어야 한다.
request
: HTTP의 request를 다룰 수 있는 module
-> request 요청받은 데이터가 담긴다.import Flask from flask, jsonify, request
Code
POSTMAN
Postman을 통해 API를 테스트할 수 있다.(GET
,POST
,PUT
... HTTP Method 사용)
example) GET menus by Postman
Save Request
API 저장 및 테스팅
example) POST menus by Postman
GET 실행시 정보가 추가된 것을 확인할 수 있음
데이터만을 보관하는 데이터베이스를 활용
Flask의 SQL을 활용해서 데이터베이스를 연동하여 사용
SQL : 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
Mission
example) PUT & DELETE menus by Postman
실행결과
PUT
실행
DELETE
실행
Author And Source
이 문제에 관하여(Day2. REST API), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@moonzzii/week2.day2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)