[SpringBoot] API 활용하기
- Web/SpringBoot
- 2022. 3. 11.
SpringBoot, API 활용하기
API 란?
Application Programming Interface의 약자로 응용프로그램에서 사용할 수 있도록 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
주로 Back-End에서 다루며, Server와 DB의 연결을 수행하기 위해 존재한다.
또한 사용자들에게 공개되는 WEB 하고 다르게, API는 WEB에서 별도의 프로젝트로 구성되어 있어서 보안성이 높은편에 속한다.
그리고 요즘 트랜드인 비동기방식을 활용하기 위해서도 WEB에서도 API 방식을 활용하기도 한다.
API 사용 방법
@GetMapping("/test123")
@ResponseBody
public void Test_Service() {
logger.info("가나다123");
try {
System.out.println("test");
List<TestBean> list = mainService.TEST_SELECT();
for(TestBean i : list) {
System.out.println(i.toString());
}
}
catch (Exception e) {
}
}
API의 사용방법은 간단하다.
MVC의 Controller에서 @RequestMapping 혹은 @Mapping한 곳에 Annotation 중, @ResponseBody만 추가해주면 된다.
이 API의 특성은 Page이동에 대한 기능은 존재하지 않는다. url 호출 시, DB로부터 데이터 저장 혹은 출력을 목적으로 두고 있다.
API 사용 방법 - GET 방식
Get방식을 이용한 호출은 URL을 통해서 쉽게 확인할 수 있다.
단순히 URL을 호출했을 뿐인데, 기본적인 동작이 되는 것을 확인할 수 있다.
API 사용방법 2
@Controller 대신에 @RestController 설정하는 방법이 있다.
이는 앞의 사용 방법 중 하나인 @ResponseBody를 생략할 수 있게 도와준다.
해당 Class에서 작성한 모든 글은 Page 이동이 아닌, 데이터 저장, 출력만을 목적으로만 한다.
이 방식에 대해서는 오직 API Server에서만 볼 수 있는 방법이다.
보통 프로젝트는 페이지 이동도 역할을 수행하기 때문이다.
API 활용하기 1
API의 POST 방식은 URL을 통해서 사용할 수는 없다.
POST 방식을 사용하기 위해서는 API 외의 다른 프로젝트에서의 호출 혹은 URL 호출을 도와줄 프로그램이 필요하다.
전자 같은 경우, 초심자가 하기에는 매우 시간이 오래 잡아 먹힌다.
그러므로 후자의 경우로 설명을 이어 붙였다.
POST MAN
해당 사진은 POSTMAN의 도움을 받았다.
위의 처럼 URL에 /test_api4를 호출하도록 하였다.
@PostMapping("/test_api4")
@ResponseBody
public String test_api4(@RequestParam("name") String name) {
System.out.println(name);
name = "api 확인";
return name;
}
키 값은 name이며, 호출 시 System.out.print를 통해서 입력값이 그대로 출력되도록 하였다.
결괏값은 String을 통해서 api 확인 이 돌려받도록 설정하였다.
해당 api의 mapping이 정상적으로 이루어질 경우, api 확인이라는 글자를 얻을 수 있다.
API 활용하기 2
@PostMapping("/test_api5")
@ResponseBody
public TestBean test_api6(@RequestParam("name") String name) {
System.out.println(name);
TestBean testBean = new TestBean();
testBean.setT_NAME(name);
return testBean;
}
이제 좀 더 난이도를 올려서 return값을 String이 아닌 TestBean이라는 객체를 이용하도록 하였다.
그러자 결괏값은 이전 textType이 아닌, JSON타입으로 반환된 것을 확인할 수 있었다.
이제 객체를 불러올 때는 반대로 매개변수에 객체를 삽입하면 된다.
@PostMapping("/test_api6")
@ResponseBody
public TestBean test_api6(TestBean testBean) {
System.out.println(testBean.getT_NAME());
testBean.setT_NAME("api 호출");
return testBean;
}
객체를 호출할 때에는 반대로 객체에 저장된 필드 값으로 호출하면 된다.
API의 호출 동작은 생각보다 매우 간단하다.
API는 언제 어디서든 활용하기 때문에 기본적인 문법은 숙지해야 한다.
설정은 매우 간단하고, 동작도 매우 단순하기 때문에 사실 크게 신경 쓸 부분은 없다고 생각된다.
'Web > SpringBoot' 카테고리의 다른 글
[SpringBoot] Interceptor 사용하는 방법 (0) | 2022.03.26 |
---|---|
[SpringBoot] API방식, File Upload 하기 (0) | 2022.03.11 |
[SpringBoot] Test, JUnit 생성하기 (0) | 2022.03.09 |
[SpringBoot] MyBatis 연동하기 (0) | 2022.03.09 |
[SpringBoot] SpringBoot 시작하기 (0) | 2022.03.06 |