Jin's Dev Story

[SpringBoot] REST API 본문

Web & Android/SpringBoot

[SpringBoot] REST API

woojin._. 2023. 10. 13. 10:46

REST : 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것

API : 애플리케이션 프로그래밍 인터페이스

       : 응용 프로그램이 서로 통신할 수 있도록 하는 일련의 규칙

REST API

컴퓨터와 컴퓨터, 서버와 클라이언트 등 다양한 애플리케이션 연결 구조에서 프로그래밍 인터페이스 규격에 맞춰 자원의 이름으로 구분하여 자원의 상태를 주고받는 행위

GET 해당 리소스를 조회함(read)
POST 해당 URL를 요청하면 리소스를 생성(create)
PUT 해당 리소스 수정(update)
DELETE 해당 리소스 삭제(delete)

REST 구성

  1. 자원(Resource) - URI
  2. 행위(Verb, Method) - HTTP Method(요청 방식) - GET, POST 등
  3. 표현(자원의 형태, Representations) - JSON, XML 등

REST API 기본 규칙

  • URL는 정보의 자원을 표시해야 함
    • 동사보다는 명사를, 대문자보다는 소문자 사용
    • 복수 명사 사용
    • 확장자를 사용하지 않음
    • 밑줄 X, 하이픈 O
  • 자원에 대한 행위는 HTTP Method로 표현
    • HTTP Method(GET, POST, PUT, DELETE 등)나 동사표현이 URI에 들어가면 안됨

 

EX) 잘못된 설계

  전체 조회 @GetMapping(/member/get)

  특정 조회 @GetMapping(/member/get/{id})

  등록 @PostMapping(/member/get/create)

  삭제 @GetMapping(/member/get/delete/{id})

  수정 @PostMapping(/member/update/{id})

 

EX) 올바른 설계

  전체 조회 @GetMapping(/member)

  특정 조회 @GetMapping(/member/{id})

  등록 @PostMapping(/member)

  삭제 @DeleteMapping(/member/{id})

  수정 @PutMapping(/member/{id})

REST API 세부규칙

'Web & Android > SpringBoot' 카테고리의 다른 글

[SpringBoot] Validation  (0) 2023.10.13
[SpringBoot] HTTP form에서 put, delete 사용법  (0) 2023.10.13
[SpringBoot] Bean  (0) 2023.10.13
[SpringBoot] 스케줄링  (1) 2023.10.13
[SpringBoot] Google 이메일 인증  (0) 2023.09.12