Mafa Dev

4. Spring Boot API 연동하기 본문

WEB/Spring Boot

4. Spring Boot API 연동하기

마파_ 2021. 12. 2. 17:45

Spring boot의 경우 아래 이미지와 같이 @SpringBootApplication 어노테이션이 있는 Class를 메인으로 실행하며 이는 C, C++, Java 언어에서의 main 함수라고 생각하면 된다.

아래 이미지를 보면 함수 옆에 초록색 삼각형 모양이 있는데 해당 버튼을 클릭하여 서버를 구동할수도 있다.

 

 

현재는 기본 index.html에만 접근할수 있는 상황이니 추가로 api를 Mapping 해보자.

아래와 같이 아무 경로에 class를 생성하고 아래 annotation를 import 해주도록 하자.

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

아래와 같이 APIList.java 파일을 package 하위에 생성하였으며 @RequestMapping ,@GetMapping, @PostMapping어노테이션을 통해 api 이름을 지정해주었다.

이후 http://localhost:8080/test1, http://localhost:8080/test2, http://localhost:8080/test3 에 접속해보면 정상적으로 브라우저에 Hello Test World1,2가 출력됨을 확인할 수 있다. (/test3의 경우 post로 설정하였기때문에 에러가 발생한다)

 

Spring 4.3부터 Spring MVC 컨트롤을 위해 새로운 어노테이션 5개가 추가되었다.

  • @RequestMapping
  • @GetMapping
  • @PostMapping
  • @DeleteMapping
  • @PatchMapping 

 

기존에는 아래와 같이 @RequestMapping을 통해 API를 연결해주었다면,

@RequestMapping(value = "/test1", method = RequestMethod.GET)

 

이제부터는 아래와 같이 method를 바로 지정할수 있어 코드가 짧아진다는 장점이 있다.

@GetMapping("/test2")

 

다만 한번의 검색으로 모든 API를 조회하기 위해 모든 함수를 RequestMapping으로 연동하는 방법도 나쁘진 않은 것 같다.