티스토리 뷰
1. maven 프로젝트 생성부터 실행까지: 프로젝트 생성하기를 보려면 아래 링크를 눌러주세요.
https://domdom.tistory.com/173
이제 생성한 프로젝트로 API를 만들어보아요.
API를 만드려면 요청변수와 응답변수가 있어야 해요.
사용자는 api로 요청변수를 보내고, 우리는 그 요청변수를 받아 리턴하기 위해서
GetMapping과 RequestParam이 필요해요.
GetMapping과 RequestParam을 사용하려면 spring-boot-starter-web 라이브러리를
pom.xml의 dependencies 안에 넣어줍니다.
pom.xml에 사용할 라이브러리를 작성하면 모든 소스코드 내에서 사용 가능해진답니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
이제 api를 만들 controller를 생성해 볼게요.
New > Package 를 눌러서 controller package를 하나 만들어줍니다.
controller package 안에 api를 만들 클래스도 하나 생성합니다!
이름은 testContoller라고 지었어요.
그러면 이렇게 내용이 비어있는 컨트롤러가 하나 만들어졌죠.
아까 임포트하고자했던 GetMapping과 RequestParam, 그리고 이 컨트롤러가 RestController임을 알려주는 RestController를 임포트 해줍니다.
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
노란 밑줄이 뜨는 이유는 임포트는 했는데 사용하지 않아서에요!
테스트컨트롤러가 Restcontroller임을 알리기 위해 위에다가
@RestController 어노테이션을 박아줍니다
RestController는 사용자가 URI형식으로 웹 서비스에 요청을 보내는 형식이에요.
그리고 @GetMapping으로 api를 호출할 URL을 설정해주고,
@RequestParam으로 API를 호출한 사용자로부터 요청변수를 받아옵니다.
어떤 요청변수를 받아올 건지 예시로 2개를 적어봤어요.
param1과 param2 모두 문자열이고, 사용자가 해당 요청변수를 입력하지 않았을 경우,
디폴트값으로 param1은 "true"를, param2는 "false"를 받아오도록 했습니다.
그리고 param1, param2에 무엇이 들어갔는지 보여주도록 리턴했어요.
나중에 DB를 연동하면 맵(딕셔너리) 형태로 출력이 가능해져요.
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class testContoller {
@GetMapping(path = "/api")
public String getParam(
@RequestParam(name="param1", defaultValue="true") String param1,
@RequestParam(name="param2", defaultValue="false") String param2
) {
return "param1: "+param1+", param2: ";
}
}
이제 실행을 누르면! (Ctrl + F11)
하단 콘솔창에 Spring 글자가 크게 뜨면서 실행되는 것을 확인할 수 있어요.
testController.java에서 실행했을 때 에러가 나는 경우 메인소스인 DemoApplication.java에서 실행해보세요.
로컬호스트에서 프로젝트를 실행했으니 인터넷을 열어 localhost:8080으로 들어가면 됩니다.
포트는 8080번이에요.
그리고 GetMapping에서 /api를 URL로 설정했으므로
localhost:8080/api로 들어가면 우리가 작성했던 param1, param2를 리턴받을 수 있어요.
요청변수를 아무것도 넣지 않았기에 디폴트값을 전달받았어요.
이번엔 param1만 요청변수를 입력해볼게요.
그러면 param1은 사용자가 입력한 hello, param2는 요청변수를 넣지 않았으므로 디폴트값인 false를 전달받습니다.
끝입니다!
다음 3편에서는
DB연동해서 딕셔너리형태로 api를 호출할 수 있도록 해보겠습니다!
'프로그래밍 > Java' 카테고리의 다른 글
[오류해결] 스프링부트 jar파일 실행 시 build path 에러 (0) | 2021.10.28 |
---|---|
[Android] No version of NDK matched the requested version 오류해결 (0) | 2021.09.24 |
[Spring boot] 1. maven 프로젝트 생성부터 실행까지: 프로젝트 생성하기 (0) | 2021.09.15 |
[Spring boot] 프로젝트 실행 시 build path 파일 경로 에러날 때 오류해결 (0) | 2021.09.15 |
[Spring boot] 재부팅했을때 Maven Dependencies 오류뜨는 경우 (0) | 2021.03.22 |