KH/JAVA

API와 REST API

오늘의 진 2023. 3. 28. 18:16

API (Application Programming Interface)

 

소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단

API란 응용 프로그램에서 사용 할 수 있도록, 운영체제나 프로그래밍 언어에서 제공하는 기능을 제어 할 수 있게 해주는 인터페이스를 말한다.

API는 어플리케이션 간에 지정된 형식으로 요청과 응답을 할 수 있도록 연결하는 것 

 

REST API

 

 

REST의 가장 중요한 특성은 각 요청이 어떤 동작이나 정보를 위한 것인지를 

그 요청의 모습 자체로 추론 가능하다는 것이다. 

 

서버와 클라이언트가 서로 소통을 할 때 중요한 역할을 담당하기 때문에 필수로 알아야 함

 

 

REST API는 다른 컴퓨터나 프로그램과의 소통을 쉽게 할 수 있다. 

RESTAPI는 인터넷 식별자 URI(Uniform Resource Identifier)와  HTTP를 기반으로 하고 

브라우저 간 호환성이 좋은 JSON 형식을 주로 사용한다.  

REST의 가장 중요한 특성은 각 요청이 어떤 정보나 동작을 위한 것인지 그 모습 자체만으로 추론이 가능하다는 점이다.

REST는 문서, 그림, 데이터등의 자원을 이름으로 구분해서 해당 자원에 대한 상태, 정보를 주고 받는 것을 의미한다.

또한 HTTP Method를 활용해서 해당 자원에 대한 CRUD(Create Read Update Delete)를 적용하는 것을 의미한다. 

REST API에서는 다양한 HTTP Method 중에서도 GET, POST(생성), PUT(전체 변경), DELETE,PATCH(일부분 변경)를 주로 사용한다. 

REST API는 HTTP 요청을 할 때 어떤URI에 어떤 method 를 사용할지에 대한 개발자들 사이에서 널리 사용되는 약속이다.

 

 URI를 통해 자원을 지정
HTTP 메서드 : 자원에 대한 행위 표현 

 

1. URI를 통해 자원을 식별해야 한다. 

2. 표현을 통해 자원을 조작해야 한다. 

 표현 : 특정한 상태의 자원에 대한 표현 

 자원은 다양한 방식으로 표현 가능. (예 - 문서, 파일 HTTP메시지 엔티티 등 )

 

Representational State Transfer (표현된 자원의 상태 전송)

자원의 현재 상태 , 자원의 기대되는 상태 

 

 

기계와 기계가 웹을 이용하여 통신을 할때 정해진 규칙이 있다면 얼마나 좋을까요 ? 

기계와 기계가 웹을 이용해서 규격화된 방식으로 통신하도록 돕는 것이 Rest Api 이다. 

 

기계와 기계가 HTTP로 통신할때 리소스는 URI로 행위는 METHOD로 결과는 응답코드로 나타내는 것 

HTTP가 원래 가지고 있는 의미를 잘 활용하자는 의미 

'KH > JAVA' 카테고리의 다른 글

InputStream _ 입력 스트림  (0) 2023.03.10
getClassLoader().getResource() 와 getResource()  (0) 2023.03.10
# 57 채팅 프로그램 구현하기  (0) 2022.08.19
# 55 네트워킹(Networking)  (0) 2022.08.18
# 51 Swing(2) -Table  (0) 2022.08.16