RestFul API는,
HTTP 프로토콜을 사용하여 자원을 CRUD(Create, Read, Update, Delete) 할 수 있는 인터페이스를 제공
RestFul API 알아보기
API(Application Programming Interface) 란?
- 응용 프로그램에서 사용할 수 있도록 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
- API를 통해 소스 및 DB에는 접근하지 못하게 하고 해당 프로그램을 사용할 수 있도록 기능을 제공하게 하는 것
- 윈도우즈 os가 있고, 그 위에서 윈도우가 돌아가도록 하는 함수들
- 요즘은 의미가 더 확장되어 서버가 제공하는 기능을 모두 API 라 한다.(앱, 웹, 카카오톡, 유튜브..)
REST(Representational State Transfer) 란?
- 서버나 서비스에 존재하는 모든 자원(이미지, 동영상, DB자원)에 고유한 URI를 부여해 활용하는 것
= 자원을 정의하고 자원에 대한 주소를 지정하는 방법론을 의미
RESTful API 설명 - AWS : https://aws.amazon.com/ko/what-is/restful-api/
통신을 위한 REST의 구성
- 자원(Resource) : http:/... 라는 형태의 URI
- 행위(Method) : GET, POST, DELETE, PUT 같은 메소드
- 표현(Message) : JSON 형태로 표현
1. URI
- protocol : http, https
- host(domain) : ip주소
- port : 특정 프로토콜(http, https)의 포트 번호
- path : / 뒤에 넣어준다.
- query string : ?뒤에 나오고, 추가적인 정보 전달, 여러개의 키-값 세트는 &로 구분한다.
2. HTTP Methods
- GET : 데이터 가져오기
- POST : 데이터 저장
- PUT : 데이터 수정
-DELETE : 데이터 삭제
3. Message
- JSON 형태로 표현(파이썬에서는 딕셔너리, 리스트의 조합)
- 먼저 클라이언트가 데이터를 서버에 요청(Request)
- 서버는 요청받은 내용을 처리해서 클라이언트한테 전달(Response)
- 액션(핸드폰 화면 터치)할 때마다 Request 와 Response(+상태코드)를 반복
'RestFul API' 카테고리의 다른 글
[RestFul API] Flask에서 JWT 설치방법 및 설정방법 (0) | 2024.05.22 |
---|---|
[RestFul API] Python MySQL Connector 특정값 삭제(Delete)하기 (0) | 2024.05.21 |
[RestFul API] Python에서 MySQL DB에 데이터 저장(POST) 하는 방법 (0) | 2024.05.21 |
[RestFul API] Config 파일 생성하여 연동하기, Github 리포지토리 private 변경하기 (0) | 2024.05.21 |
[RestFul API] 가상환경 설정 + Flask 프레임워크와 Flask-restful 라이브러리 설치 (0) | 2024.05.20 |