스프링 부트에서 처음 다뤄볼 내용은 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 : 모든 필드 값을 파라미터로 받는 생성자를 생성
끄읏 -
'java > spring, springBoot' 카테고리의 다른 글
스프링부트(SpringBoot) - REST -POST사용해보기 (0) | 2023.10.17 |
---|---|
스프링부트(SpringBoot) 시작하기 - Spring Initializr (0) | 2023.10.12 |
스프링(Spring) - 시작해보기(java->spring변환) (0) | 2021.08.31 |
스프링(Spring) - 프로젝트 생성해보기 (0) | 2021.08.31 |
스프링(Spring) -스프링 프레임워크 (0) | 2021.08.31 |