It's going to be one day 🍀

안녕하세요! 매일 매일 공부하려고 노력하는 백엔드 개발자 지망생의 공부 흔적입니다.

Back-End/Spring

[Spring] API와 REST API/MyBatis 블로그 만들기 실습 정리

2jin2 2024. 3. 11. 19:59

API : (Application Programming Interface) : 프로그램간에 상호작용하기 위한 매개체

API는 클라이언트의 요청을 서버에 잘 전달하고, 서버의 결과물을 클라이언트에게 잘 돌려주는 역할을 한다,

-> HTTP 프로토콜을 사용하여 클라이언트와 서버 간의 통신을 하기 위한 인터페이스

 

REST API : 이해하기 쉬운 URL로 설계를 한 API

장점)

- URL만 보고도 무슨 행동을 하는 API인지 명확하게 알 수 있다.

- 상태가 없다는 특징이 있어서 클라이언트와 서버의 역할이 명확하게 분리된다.

- HTTP 표준을 사용하는 모든 플랫폼에서 사용할 수 있다.

 

단점)

- GET, POST와 같은 방식의 개수에 제한이 있다.

 

REST API를 사용하는 방법

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

ex) 학생 중에 id가 1인 학생의 정보를 가져오는 URL

/student/1

 

규칙2 : 동사는 HTTP 메소드로

  • POST : 만들고 (Create)
  • GET : 읽고 (Read)
  • PUT : 업데이트 하고 (Update)
  • DELETE : 삭제하고 (Delete)

보통 이것들을 묶어서 CRUD라고 부름.

설명 적합한 HTTP 메소드와 URL
id가 1인 블로그 글을 조회하는 API GET /articles/1
블로그 글을 추가하는 API POST /articles
블로그 글을 수정하는 API PUT /articles/1
블로그 글을 삭제하는 API DELETE /articles/1

 


SpringBoot Mybatis 블로그 만들기

 

현재까지의 파일 구조

https://github.com/icode1211/blog-project/tree/master -> 코드 참고하기


실습 한 내용 정리

API / REST API 설계

- GET /api/articles

- GET /api/articles/{id}

- POST /api/articles (요청은 json 형태로 - RequestBody)

- DELETE /api/articles/{id}

- PUT /api/articles/{id} (요청은 json 형태로 - RequestBody)

 

Controller : 요청 받기

Serive : 비즈니스 로직 처리

Repository : 데이터 정보 받아옴

- 데이터 접근 : Mapper 사용