OPEN API란??
OPEN API는 프로그래밍에서 사용할 수 있는 개방되어 있는 상태의 Interface를 말한다.
naver나 kakao 등 포털 서비스 사이트나 통계청, 기상청, 우체국 등과 같은 관공서, 공공 데이터 포털이 가지고 있는 데이터를 외부 응용 프로그램에서 사용할 수 있도록 OPEN API를 제공하고 있다.
OPEN API와 함께 거론되고 있는 기술이 REST이고, 대부분의 OPEN API는 REST 방식으로 지원된다.
REST란??
REST는 Representational State Transfer의 약자로 2000년도 Roy Fielding의 박사학위 논문에 최초로 소개되었다.
하나의 URI는 하나의 고유한 Resource를 대표하도록 설계된다는 개념에 전송방식을 결합해서 원하는 작업을 지정한다.
REST는 웹의 장점을 최대한 활용할 수 있는 아키텍처(설계구조)이다.
HTTP URI를 통해 제어할 자원(Resource)을 명시하고, HTTP Method를 통해 해당 자원(Resource)을 제어하는 명령을 내리는 방식의 아키텍처이다.
REST의 구성
자원 (Resource) - URI
행위 (Verb) - HTTP Method
표현 (Representation)
잘 표현된 HTTP URI로 리소스를 정의하고 HTTP Method로 리소스에 대한 행위를 정의한다.
리소스는 JSON, XML과 같은 여러 가지 언어로 표현할 수 있다.
기존 Service와 달리 REST Service는 data 처리만 하거나 처리 후 반환될 data가 있으면 JSON이나 XML 형식으로 전달한다. 따라서 View에 대해서 신경 쓸 필요가 없다.
REST
- 기존의 전송방식과 달리 서버는 요청으로 받은 리소스에 대해 순수한 데이터를 전송한다.
- 기존의 GET/POST 외에 PUT, DELETE 방식을 사용하여 리소스에 대한 CRUD를 처리할 수 있다.
- HTTP URI를 통해 제어할 자원을 명시하고, HTTP METHOD를 통해 해당 자원을 제어하는 명령을 내리는 방식의 아키텍처이다.
REST의 가장 큰 단점은 딱 정해진 표준이 없어서 '다들 이렇게 쓰더라~' 정도의 암묵적인 표준만 정해져 있다.
다음은 흔히들 많이 쓰는 REST의 암묵적인 표준이다.
1. 하이픈(-)은 사용 가능하지만 언더바(_)는 사용하지 않는다.
2. 특별한 경우를 제외하고 대문자 사용은 하지 않는다. (대소문자 구별을 하기 때문)
3. URI 마지막에 슬래시(/)를 사용하지 않는다.
4. 슬래스(/)로 계층 관계를 나타낸다.
5. 확장자가 포함된 파일 이름을 직접 포함시키지 않는다.
6. URI는 명사를 사용한다.
REST에서 가장 많이 쓰이는 CRUD에 해당하는 HTTP Method는 다음과 같다.
C - Create (Insert) - POST
R - Read (Select) - GET
U - Update (Update) - PUT
D - Delete (Delete) - DELETE
'개발 > Spring' 카테고리의 다른 글
[Spring] MyBatis, MyBatis-Spring 특징과 역할 (0) | 2022.05.31 |
---|---|
[Spring] 스프링 부트 (Spring Boot) 특징 및 구조 (0) | 2022.05.18 |
[Spring] 스프링 MVC 아키텍처의 이해 (Spring MVC Architecture) (0) | 2022.05.17 |
[Spring] 스프링에서 많이 사용하는 어노테이션 정리 (Annotation) (0) | 2022.05.16 |
[Spring] 스프링 프레임워크 (Spring Framework) (0) | 2022.05.11 |