게시판 만들기(스프링 부트3, 나도코딩 스터디)/10장. REST API와 JSON

10.1~10.2 REST API 동작 살펴보기(게시판 만들기 / JSON / 코딩 자율학습단)

coding232624 2023. 11. 30. 18:30

API

  • Application Programming Inerface, 애플리케이션을 간편히 이용할 수 있도록 하는 미리 정해진 일종의 약속
  • 웹 서비스를 스마트폰, 스마트웨치, 태블릿등 다양한 클라이언트에서 사용가능 하도록 함

REST API

  • 서버 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계방식
  • 클라이언트에서 정보를 요청하면 서버는 특정 기기에 종속되지 않고 모든 기기에서 통용할 수 있는 JSON 데이터를 응답으로 보냄

 

JSON 데이터

  • 자바스크립트 방식을 차용한 객체 표현식
  • 키(key)와 값(value)의 쌍으로 이루어진 속성(property)으로 구성

 

REST API 실습

  • {JSON} Placeholder 사이트에 가면 가짜 API를 사용해 무료로 각종 테스트 가능
  • 크림 브라우저 확장 프로그램인 Talend API Tester를 설치해 REST API를 사용 가능

 

HTTP 상태 코드

클라이언트가 보낸 요청이 성공했는지 실패했는지 알려주는 코드

응답은 100~500번대까지 5대 그룹으로 나뉘어 있음

  • 1XX(정보) : 요청이 수신돼 처리중입니다.
  • 2XX(성공) : 요청이 정상적으로 처리됐습니다.
  • 3XX(리다이렉션 메시지) : 요청을 완료하려면 추가 행동이 필요합니다.
  • 4XX(클라이언트 요청 오류) : 클라이언트의 요청이 잘못돼 서버가 요청을 수행할 수 없습니다.
  • 5XX(서버 응답 오류) : 서버 내부에 에러가 발생해 클라이언트 요청에 대해 적절히 수행하지 못했습니다.

HTTP 메시지

HTTP 요청과 응답은 실제 텍스트 형식으로 전송하는데, 이를 HTTP 메시지라고 함

HTTP 메시지는 시작 라인, 헤더, 빈 라인, 본문으로 구성

  • 시작 라인 : HTTP 요청 또는 응답 내용이 있음, 시작 라인은 항상 한 줄
  • 헤더 : HTTP 전송에 필요한 부가 정보(metadata)가 있음
  • 빈라인 : 헤더의 끝을 알리는 빈 줄, 헤더가 모두 전송되었음을 알림
  • 본문 : 실제 전송하는 데이터가 있음
  •