SpringBoot

API 작성 방법 (GET API)

똑똑한망치 2024. 2. 2. 21:11
728x90
반응형

1. GET API 만들기


GET API 는 웹 애플리케이션 서버에서 값을 가져올 때 사용하는 API이다.

클래스 수준에서 @RequestMapping을 설정하면 내부에 선언한 메서드의 URL 리소스 앞에 @RequestMapping의 값이 공통으로 추가된다.

 

클래스 수준의 @RequestMapping 예시 사진

 

 

(1) RequestMapping 으로 구현하기

@RequestMapping 어노테이션을 별다른 설정 없이 선언하면 HTTP의 모든 요청을 받는다. 따라서 GET 형식으로 받기 위해서는 @RequestMapping 의 method 요소의 값을 RequestMethod.GET으로 설정해야 한다.

 

스프링 4.3 버전 이후로는 새로 나온 어노테이션을 사용하기 때문에 @RequestMapping 어노테이션은 더 이상 사용되지 않는다. 

새로 나온 어노테이션

 

 

 

 

(2) 매개변수가 없는 GET 메서드 구현

  • 별도의 매개변수 없이 GET API 구현하는 예시

매개변수 없는 GET API 예시

 

 

 

(3) @PathVariable을 활용한 GET 메서드 구현

  • URL 자체에 값을 담아 요청하는 방식
  • 값을 간단히 전달할 때 주로 사용하는 방법
  • GET 요청에서 많이 사용된다

 

 

  • 만약 @GetMapping 어노테이션에 지정한 변수의 이름과 메서드 매개변수의 이름을 동일하게 맞추기 어려다면 @PathVariable 뒤에 괄호를 열어 @GetMapping 어노테이션의 변수명을 지정한다.

@PathVariable 에 변수명을 매핑하는 방법 (2번 줄 variable == 3번 줄 var)

 

 

 

(4) @RequestParam을 활용한 GET 메서드 구현

  • URL 경로에 쿼리 형식으로 값을 전달하는 방식
  • 즉, URL에서 '?'을 기준으로 '{키}={값}' 형태로 구성된 요청을 전송하는 방법

@RequestParam을 활용한 GET 메서드 구현 예시 사진

 

 

  • 만약 쿼리스트링에 어떤 값이 들어올지 모른다면 Map 객체를 활용할 수 있다.

@RequestParam과 Map을 조합한 GET 메서드 구현

 

 

 

 

 

(5) DTO 객체를 활용한 GET 메서드 구현

  • DTO 란?
    • Data Transfer Object 의 약자로, 다른 레이어 간의 데이터 교환에 활용된다. 즉, 각 클래스 및 인터페이스를 호출하면서 전달하는 매개변수로 사용되는 데이터 객체이다.
    • DTO 클래스에는 전달하고자 하는 필드 객체를 선언하고 getter/setter 메서드를 구현한다.
    • DTO 클래스에 선언된 필드는 컨트롤러의 메서드에서 쿼리 파라미터의 키와 매칭된다.
    • DTO 객체를 활요해 코드의 가독성을 높일 수 있다.

DTO 클래스의 예시
DTO 객체를 활용한 GET 메서드 구현

반응형

'SpringBoot' 카테고리의 다른 글

API 작성 방법 (PUT API)  (0) 2024.02.02
API 작성 방법 (POST API)  (0) 2024.02.02
스프링 부트 애플리케이션 생성  (0) 2024.02.02
스프링 부트란?  (2) 2024.01.25
자바 스프링 개념  (0) 2024.01.19