REST API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스이다.
REST는 Representational State Transfer으로, API 작동 방식에 조건을 부과하는 소프트웨어 아키텍쳐이다. REST 기반 아키텍쳐를 사용하면 고성능 통신을 안정적으로 지원할 수 있다. 또 구현과 수정이 쉽다.
API 서버 개발자는 여러 아키텍쳐를 사용해 API를 설계할 수 있는데, REST 아키텍처 스타일을 따른 API를 REST API라고 한다. 그리고 REST 규칙을 모두 따르도록 설계한 API를 두고 RESTful API라고 한다.
요약해서 REST는
Spring으로 간단한 로컬 서버를 만들고 python을 이용해 API 서버에 get 요청을 보내 데이터를 받는 예제를 만들어보자.
web 라이브러리를 사용한다.
@RestController
@RequestMapping(value = "hello")
public class HelloController {
@GetMapping()
public Hello get() {
return new Hello(0, "Hello Spring boot");
}
}
(도메인)/hello, URI로 get 요청이 들어오면 Hello 객체를 반환한다. 해당 객체의 필드명과 필드값이 key-value로 json 형태로 클라이언트에게 반환한다.
Hello entitiy
public class Hello {
private int code;
private String msg;
public Hello(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
클라이언트 서버를 구축하지는 않았지만 클라이언트에서는 get요청을 보내고 이를 받을 수 있다.
정말 좋은 정보 감사합니다!