본문 바로가기
Springboot

[Springboot] 3. 스프링에서 API를 작성하는 다양한 방법 - GET

by 상도동개발자 2023. 2. 8.
SMALL

각 HTTP 메서드에 해당하는 API를 개발하는 내용을 다룹니다.

 

1. GET API 만들기

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

@RestController, @RequestMapping 설정

1-1. @RestController

- RestController는 @Controller에 @ReponseBody가 추가된 형태로 RestController의 주용도는 JSON 형태로 객체 데이터를 반환하는것

- 모든 메서드에 @ResponseBody를 추가한것과 동일하다

- 뷰를 반환하지 않는다.

1-2. @RequestMapping

- 클라이언트에서 URL로 들어온 요청을 Controller와 매핑 해주는 어노테이션

- 클래스에 선언시에는 모든 메서드앞에 설정한 URL이 추가된다.

- 주요 옵션

옵션 설명
value URL 값으로 매핑 조건을 부여 (default)
method HTTP Request 메소드 값을 매핑 조건으로 부여 사용 가능한 메소드는 GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE
params HTTP Request 파라미터 매핑 조건으로 부여

1-2-1. @RequestMapping 어노테이션을 사용한 메서드 구현

@RequestMapping 어노테이션 설정

스프링 4.3 이후에는 @RequestMapping에 따로 method 설정을 해주는것이 아닌 아래의 형태로 많이 사용합니다.

- @GetMapping

- @PostMapping

- @PutMapping

- @DeleteMapping

 

1-3. @PathVariable을 활용한 GET 메서드 구현

- 매개변수를 URI 자체에 값을 담아 요청하는 방식

- {variable} URI의 값을 매개변수로 받는다.

@PathVariable을 활용한 GET 메서드
@PathVariable을 활용한 GET 메서드 2 - 매개변수와 변수같이 일치하지 않을때 매핑

1-4. @RequestParam을 활용한 GET 메서드 구현

- 위의 방식처럼 URL에 매개변수를 담는 방법이 아닌 쿼리 형식으로 값을 전달 받는 방식

- ?key1=value1&key2=value2 형식의 요청

@RequestParam을 활용한 GET 메서드

1-4-1. @RequestParam과 Map을 조합한 GET 메서드 구현

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

1-5. DTO 객체를 활용한 GET 메서드 구현

DTO는 Data Transfer Object의 약자로 데이터 교환에 활용됩니다. 간략하게 설명하면 클래스 및 인터페이스를 호출하면서 전달하는 매개변수로 사용되는 데이터 객체입니다.

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

728x90
반응형
LIST

댓글