본문 바로가기
개인공부/스프링 부트 3 백엔드 개발자 되기

스프링 부트 - 6장 레벨2 스프링 부트 3로 블로그 제대로 만들기

by 응가1414 2023. 7. 4.

6장 레벨2 스프링 부트 3로 블로그 제대로 만들기

  1. 네트워크에서 API는 프로그램 간에 상호 작용하기 위한 매개체를 말한다.
  2. 식당에서 벌어지는 일을 비유를 들어 API를 설명한다.

식당으로 알아보는 API

  1. 우리가 식당에 가면 -> 점원에서 요리를 준분
  2. 점원은 주방에 가서 "요리를 만들어 달라"라고 요청
  3. 요리가 완성되면 다시 점원이 손님에서 요리를 전달

그림 128

웹의 장점을 최대한 활용하는 REST API

REST는 Representational State Transfer를 줄인 표현

  1. 자원을 이름으로 구분해 자원의 상태를 주고받는 API 방식
  2. URL의 설계 방식

REST API의 특징

  1. REST API는 서버/클라이언트 구조, 무상태, 캐시 처리 가능, 계층화, 인터페이스 일관성 같은 특징이 있다.

REST API의 장점과 단점

REST API 장점

  1. REST API의 장점은 URL만 보고도 무슨 행동을 하는 API인지 명확하게 알 수 있다는 것
  2. 상태가 없다는 특징이 있어 클라이언트와 서버의 역할이 명확하게 분리
  3. HTTP 표준을 사용하는 모든 플랫폼에서 사용가능

REST API 단점

  1. HTTP 메서드, 즉, GET, POST와 같은 방식의 개수 제한
  2. 설계를 하기 위해 공식적으로 제공되는 표준 규약이 없다.

그럼에도 REST API는 주소와 메서드만 보고 요청의 내용을 파악할 수 있다는 강력한 장점이 있어 많이 사용

REST API를 사용하는 방법

규칙 1. URL에는 동사를 쓰지 말고, 자원을 표시

  1. URL는 자원을 표시해야 한다는 말에서 자원은
  2. 학생 중에 id가 1인 학생의 정보를 가져오는 URL는 이렇게 설계
 URL 설계 예
 ​
 /students/1
 /get/student?student_id=1
  • 더 맞는 설계는 RESTful API는 1번이다.
  • 2번은 다른 표현을 섞었기 때문이다.
    • 예를들어 서버에 데이터를 요청하는 URL를 설계할 때 get, show를 쓰면 엉망이 된다.
  • 그래서 RESTful API를 설계할 때는 이런 동사를 쓰지 않는다.

예문적합성설명

/articles/1 적합 동사 없음, 1번 글을 가져온다는 의미가 명확, 적합
/articles/show/1 부적합 show라는 동사가 있음, 부적합
/show/articles/1    

규칙 2. 동사는 HTTP 메서드로

  1. 동사는 HTTP메서드라는 것으로 해결 가능하다.
  2. HTTP 메서드는 서버에 요청을 하는 방법을 나눈 것이다.
  3. HTTP 메서드는 POST, GET, PUT, DELETE이다.
  4. 각각 만들고(create), 읽고(read), 업데이트(update)하고, 삭제(delete) 하는 역할
    • 이것들을 묶어서 크루드(CRUD) 라고 한다.

설명적합한 HTTP 메서드와 URL

id가 1인 블로그 글을 조회하는 API GET /articles/1
블로그 글을 추가하는 API POST/articles/1
블로그 글을 수정하는 API PUT /articles/1
블로그 글을 삭제하는 API DELETE /articles/1

GET, POST, PUT, DELETE는 URL 에 입력하는 값이 아니라 내부적으로 처리하는 방식을 미리 정하는 것

HTTP 메서드는 내부에서 서로 다른 함수로 처리

 

트랜잭션이란 데이터베이스의 데이터를 바꾸기 위해 묶은 작업의 단위