728x90
반응형
| REST API
서버의 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계 방식
HTTP 요청에 대한 응답으로 서버의 자원 반환
서버에서 보내는 응답이 특정 기기에 종속되지 않도록 통용될 수 있는 데이터 반환
REST API에서는 서버는 클라이언트의 요청에 대한 응답으로 데이터를 전송합니다.
이때 사용하는 응답 데이터는 JSON 파일입니다.
| REST API 동작
https://jsonplaceholder.typicode.com/ 접속하여 가짜 API를 사용해 테스트할 수 있습니다.
- 단일 데이터 조회 요청 응답
데이터 조회를 요청할 때는 method 속성 값으로 GET을 써야 하나
GET은 method 속성의 기본 값이라 생략할 수 있습니다.
- 데이터 수정 요청과 응답
- PUT : 기존 데이터를 전부 새 내용으로 변경, 기존 데이터가 없다면 새로 생성
- PATCH : 기존 데이터 중에서 일부만 새 내용으로 변경
| Talend API Tester
크롬 웹 브라우저의 talend api 확장 프로그램을 통해 REST API 실습을 했습니다.
- GET 요청하고 응답
https://jsonplaceholder.typicode.com/posts 경로로 모든 데이터를 조회하라는 명령
응답이 200으로 왔는데 BODY 부분을 확인했을 때 1번부터 100번까지 JOSN 데이터를 확인할 수 있습니다.
- POST 요청하고 응답받기
응답이 201로 데이터가 잘 생성됐음을 의미
- PATCH 요청하고 응답받기
200번 응답으로 수정이 잘 된 것을 확인했습니다.
- DELETE 요청하고 응답받기
JSON 중괄호에 데이터가 없으며 응답도 200번이 온 것을 확인했습니다.
| HTTP 상태 코드
- 1XX (정보) : 요청이 수신돼 처리 중
- 2XX (성공) : 요청이 정상적으로 처리
- 3XX (리다이렉션 메시지) : 요청을 완료하라면 추가 행동이 필요
- 4XX (클라이언트 요청 오류) : 클라이언트 요청이 잘못돼 서버가 요청을 수행할 수 없음
- 5XX (서버 응답 오류) : 서버 내부에 에러가 발생해 클라이언트 요청에 대해 수행하지 못함
| HTTP 메시지
- 시작 라인 : HTTP 요청 또는 응답 내용, 시작 라인은 항상 한 줄로 끝남
- 헤더 : HTTP 전송에 필요한 부가 정보(metadata)가 있음
- 빈 라인 : 헤더의 끝을 알리는 빈 줄로, 헤더가 모두 전송되었음을 알림
- 본문 : 실제 전송하는 데이터가 있음
-
728x90
반응형
'JAVA > 코딩자율학습-스프링부트' 카테고리의 다른 글
[코딩 자율학습 스프링부트] 12장 서비스 계층과 트랜잭션 (1) | 2024.12.09 |
---|---|
[코딩 자율학습 스프링부트] 11장 HTTP와 REST 컨트롤러 (0) | 2024.12.08 |
[코딩 자율학습 스프링부트] 9장 CRUD와 SQL 쿼리 종합 (0) | 2024.12.02 |
[코딩 자율학습 스프링부트] 8장 게시글 수정하기 : Delete (0) | 2024.12.01 |
[코딩 자율학습 스프링부트] 7장 게시글 수정하기 : Update (0) | 2024.11.30 |