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 사용
'Back-End > Spring' 카테고리의 다른 글
[Spring] Thymeleaf를 이용해서 블로그 화면 구성하기 (0) | 2024.03.13 |
---|---|
[Spring] JPA로 CRUD 블로그 만들기 실습 정리 (0) | 2024.03.12 |
[spring] 강의 중 개념 정리 (외부) (0) | 2024.03.08 |
[Spring] MyBatis 실습 / JPA 개념 (외부) (0) | 2024.03.07 |
[Spring] Docker, JPA 기초 실습 (외부) (0) | 2024.03.06 |