본문 바로가기

⭐ SpringBoot/𝄜 게시판 with SpringBoot

17. RestAPI & JSON

728x90
반응형

# {JSON} Placeholder 사이트를 활용하여 RestAPI의 동작 흐름을 분석

 

RestAPI를 사용하는 이유

다양한 클라이언트의 등장

현재는 PC뿐만 아니고 다양한 기기들이 존재한다.

CCTV 부터 시작해서 스마트 워치, 태블릿, 다양한 센서 등등 기술이 발전하면 할수록 다양한 기기들간의 통신이 이루어 지고 있다.

이러한 IT 기기들의 발전에 따라 수많은 Client기기들이 지금도 만들어지고 있다.

그래서 웹서버는 모든 클라이언트들의 요청에 적절한 응답을 해야한다.

이를 해결하기 위한 개념이 바로 RestAPI이다.

 

RestAPI

RestAPI란 웹서버의 자원을 클라이언트에 구애받지 않고 사용할수 있도록 하는 설계 방식으로 HTTP를 통해 서버의 자원을 다루게 하는 기술이다. 이때 서버의 응답은 특정 기기에 종속되지 않도록, 모든 기기에서 통용될 수 있는 화면이 아닌 데이터만을 반환한다. 이런 응답 데이터는 과거에는 XML 방식으로 사용이 되었으나 최근에는 JSON 형식으로 통일되고 있다. 

 

RestAPI와 JSON 코드 실습

아래의 사이트로 이동하여 JSON 형태로 RestAPI를 호출 할 수 있다.

해당 사이트는 Dummy 데이터를 제공 하고 있으므로 테스트를 할때 용이하다.

https://jsonplaceholder.typicode.com/

 

JSONPlaceholder - Free Fake REST API

{JSON} Placeholder Free fake API for testing and prototyping. Powered by JSON Server + LowDB. Tested with XV. As of Oct 2021, serving ~1.7 billion requests each month.

jsonplaceholder.typicode.com

Talend api 확장 프로그램 설치

Talend api 실행하기 > v 모양을 클릭하여 웹 사이트를 실행한다.

Talend api 실행 모습

Get 요청과 응답

https://jsonplaceholder.typicode.com/ 사이트로 GET 방식으로 데이터를 호출하여 Talend api 에서 응답을 받아본다.

https://jsonplaceholder.typicode.com/posts 이 주소로 GET 요청을 해본다. 상태코드 200이 떨어진것을 볼 수 있다.

상태 코드 200은 정상적으로 호출이 되었을때 반환되는 코드라고 볼 수 있다.

응답으로 BODY를 확인하면 정상적으로 JSON 형태로 데이터가 반환된것을 볼 수 있다.

https://jsonplaceholder.typicode.com/posts 의 값이 아래와 같이 100개 이므로 해당 Get 요청은 100개의 posts 값을 가져온것을 확인 할 수 있다.

조회 결과

에러 발생 시키기

https://jsonplaceholder.typicode.com/posts/101 posts 게시물이 100번까지만 있으므로 101번을 호출하면 404에러가 발생한다. 404에러는 not found 에러로 해당 데이터를 찾을 수 없다는 의미이다.

POST 요청 하기

https://jsonplaceholder.typicode.com/posts 주소로 POST 요청을 한다.

BODY 내용은 아래와 같다.

{
  "title":"오늘은 왠지..",
  "body": "치킨을 먹고 싶어라"
}

POST 결과 확인

POST 요청 오류 > 500 번 코드로 반환 됨

PATCH 수정 요청

수정 요청은 PATCH 메소드로 보낸다.

POST > PATCH로 변경하고 아래의 내용으로 요청을 한다.

수정을 하면 Response가 200번으로 떨어진다.

{
  "title":"치킨을 먹자",
  "body": "하하하"
}

DELETE 삭제 요청

HTTP 메소드를 DELETE로 변경 후 https://jsonplaceholder.typicode.com/posts/10 으로 로 요청을 보내면, Response가 200번 정상적으로 삭제가 됐다고 나온다. 

 

728x90
반응형