java/spring, springBoot

스프링부트(SpringBoot) - REST -GET 사용해보기

정데브 2023. 10. 13. 20:37

스프링 부트에서 처음 다뤄볼 내용은 HTTP 메소드중하나인 REST API를 구현할 수 있는 방법 중 첫번째 GET방식에 대해서 알아보고자한다.

 

이전에  REST API에 대해서 잠깐 알아보자!

 

REST는 Representational State Transfer 이며, 소프트웨어 프로그램 아키텍처의 한 형식이다. 즉, 자원을 이름(자원의 표현)으로 구분해 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다.

 

HTTP 프로토콜은 GET, POST, PUT, PATCH, DELETE의 Method를 제공( CRUD )

 

GET은 Read를 의미한다. 정보의 요청, 또는 URL이 가진 정보를 검색하기 위해 서버에 요청한다.

 

 

[ GET 예제  1]

1. RestApiController 를 하나 생성해준다.

2. 어노테이션 @RestController 선언해준다 (해당 클래스가 RestAPI를 처리하는 컨트롤러라는것을 의미해준다.)

3.  클래스 안에 hello라는 메소드 하나는 선언해주고  @GetMapping을 통해서 path 에 "/get"을 지정해준다.

4.  return값을 설정해준다.

 

해당 과정을 거치게되면 간단한 GET API사용이 완성된다.

Controller를 run 해주고 URL을 통해서 결과를 확인해보자.

 

http://localhost:8080/rest/get 의 경로에 접속해 반환된 값이 들어온걸 확인할 수 있다.

 

 

 

 

[ GET 예제 2 ] @PathVariable 받아오기  

또 다른 방법으로는 주소의 값을 받아와 사용이 가능하다.

1. path경로 안에 { } 괄호를 사용하여 변수를 받아올 수 있다. 이때, @PathVariable 을 통해서 경로에서 받아오는것을 명시하여 변수처리해줘야한다.

2. 받아온 name을 return !

 

http://localhost:8080/rest/get2/jengdev

 

 

 

 

[ GET 예제 3 ] 쿼리스트링으로 받아오기

쿼리스트링으로 파라미터를 URL로 전송할때 @RequestParam 을 사용하여 받아온다.

 

http://localhost:8080/rest/get3?name=jengdev&age=27&sex=woman

 

[ GET 예제 4 ] DTO로 받아오기 [LOMBOK] 사용

 

Spring에서 DTO를 생성하기위해서 예를들어 GETER,SETERT를 각각 생성해주어 변수들을 사용했었는데 Springboot에서는 @Data 어노테이션을 활용하면 lombok을 통해서 간단하게 사용가능하다.

 

@NoArgsConstructor : 파라미터가 없는 기본 생성자를 생성

@AllArgsConstructor : 모든 필드 값을 파라미터로 받는 생성자를 생성

 

 

 

 

끄읏 -