[Spring Boot]REST API 이론

Hood·2024년 7월 1일
0

Spring Boot

목록 보기
1/14
post-thumbnail

스프링 부트 첫 시작

인덕대학교 A&I 동아리를 하며 스터디 한 것을 바탕으로 작성하였습니다.

📌 개발환경 Setup

OS : MacBook Air 15 M3
SW : intellij IDEA
Language : Kotlin
JDK : 17

스프링 부트를 시작하며

https://start.spring.io/
해당 페이지에 들어가서 다음과 같이 파일을 생성한다.
Artifact는 자신이 원하는 이름으로 설정하고
기본 설정은 자신이 필요한 부분에 따라 달라질 수 있다.
의존성 추가는 기본적으로 RestAPI를 위해 Spring Web을 추가했으며
필요에 따라 https://mvnrepository.com/ 에 들어가 추가하면 된다.

🔎 Rest 는?

  1. HTTP URL 을 통해 자원(Resource)를 명시하고
  2. HTTP Method (POST, GET, PUT, DELETE 등)을 통해
  3. 해당 자원을 URL을 통해 CRUD Operation 을 적용하는 것을 의미한다.

🔎 CRUD Operation 이란?

CRUD는 부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인
Create , Read , Update , Delete 를 묶은 말이다.
REST에서의 CRUD Operation 동작은 다음과 같다.

Create : 데이터 생성 -> REST의 POST
Read : 데이터 조회 -> GET
Update : 데이터 수정 -> PUT
Delete : 데이터 삭제 -> DELETE


🔎 RESTful API 는?

RestAPI는 말 그대로 REST의 원리를 따르는 API를 의미한다.
올바르게 설계하기 위해서는 다음과 같은 규칙 을 알아야 한다.

  1. URL은 동사보다는 명사 를, 대문자보다는 소문자를 사용해야 한다.

    Bad URL : http://velog.io/TESTING
    Good URL : http://velog.io/test

  2. 마지막에 슬래시 / 를 포함하지 않는다.

    Bad URL : http://velog.io/test/
    Good URL : http://velog.io/test

  3. 언더바 _ 대신 하이픈 - 을 사용한다.

    Bad URL : http://velog.io/test_post
    Good URL : http://velog.io/test-post

  4. 파일확장자는 URL 을 포함하지 않는다

    Bad URL : http://velog.io/photo.png
    Good URL : http://velog.io/photo

  5. 행위를 포함하지 않는다.

    Bad URL : http://velog.io/delete-post/1
    Good URL : http://velog.io/post/1


📌 결론

RESTFUL이란 REST의 원리를 따르는 시스템을 의미한다.
하지만 사용했다고 모두 RESTful 한 것은 아니다.
모든 CRUD 기능을 POST로 처리하는 것은 API 규칙을 오바르게 지키지 못한 API며
REST API의 설계 규칙을 올바르게 지키지 못한 시스템은 RESTful 하다고 볼 수 없다.

profile
달을 향해 쏴라, 빗나가도 별이 될 테니 👊

0개의 댓글