Kotlin Spring Boot Controller를 사용해 Rest API 구현하기
1. Controller 별도 파일 및 기본 클래스 만들기
Controller를 만들때에는 main() 함수가 있는 파일이 아닌 별도로 만들어 주는 것이 좋다. 간단한 예로 이름을 입력을 입력하면 Hello를 이름에 붙여서 응답해주는 웹서비스를 만들예정이다.
Package 선언
패키지는 자바의 개념으로 같은 패키지는 같은 디렉토리 개념으로 보아도 무방하다. 그렇기 때문에, "HelloController.kt" 라는 파일을 같은 디렉토리에 만들어두면, 별도로 import 하지 않아도 관련 파일을 자동으로 Component Scan으로 인식될 수 있다.
// HelloController.kt
package com.example.demo
기본 Class 만들기
아래와 같이 Kotlin 문법을 사용해 class 내부에 입력을 받으면 메세지를 return 하는 함수 하나를 만들어 둔다. 여기까지는 Spring Boot과는 전혀 상관 없는 순수 Kotlin 코드이다.
class HelloController {
fun index(name: String) = "Hello, $name ^^"
}
2. 일반 코틀린 클래스를 Spring Rest API로 변환하기
RestController 등록
클래스를 변환하는 과정이다. 제목은 거창하지만 사실 REST 컨트롤러를 만드는 것은 간단한 annotation 하나로 쉽게 변환할 수 있다. RestController 어노테이션을 import 하고 클래스위에 얹어주기만 하면 된다.
package com.example.demo
import org.springframework.web.bind.annotation.RestController
@RestController
class HelloController {
fun index(name: String) = "Hello, $name ^^"
}
Get 요청 URL 매핑
함수를 변환하는 과정이다. 함수가 어디에서 응답하면 되는지 URL을 매핑해주는 과정이다. GetMapping 어노테이션에 원하는 경로를 작성해주면 된다.
package com.example.demo
import org.springframework.web.bind.annotation.RestController
import org.springframework.web.bind.annotation.GetMapping
@RestController
class HelloController {
@GetMapping("/hello")
fun index(name: String) = "Hello, $name ^^"
}
일반 함수 입력 파라미터를 Web Request Parameter 로 변환하기
package com.example.demo
import org.springframework.web.bind.annotation.RestController
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestParam
@RestController
class HelloController {
@GetMapping("/hello")
fun index(@RequestParam("name") name: String) = "Hello, $name ^^"
}
기존 파라미터앞에 @RequestParam 어노테이션만 추가해주면 "name" 일반 변수가 Web Request용 파라미터로 변환된다.
이제 모든 준비가 되었다. 이제 브라우저에서 접속하면 원하는 결과가 나오는지 실행해보겠다.
3. Rest API 실행
이제 실행 버튼을 누르면 Spring Boot이 실행된다.
브라우저 8080 포트 접속
Spring Boot은 Tomcat이라는 웹서버를 사용하는데 기본으로 8080 포트로 실행되니 브라우저에서 로컬주소에 8080 포트를 붙여 실행한다. 우리는 GetMapping을 "/hello" 로 하였으니 8080뒤에 /hello까지 붙여준다.
파라미터 지정
입력변수인 name을 사용할때에는 경로뒤에 ? 기호를 붙여주고 이름을 입력값을 넣으면 된다.
짜잔!!! 성공!
그리고, API 클라이언트 툴 등을 이용해 사용해보면 API 구현 느낌을 더 가질 수 있다.
축하합니다 👏
여러분들은 이번 시간을 통해 매우 간단하지만, 요즘 가장 인기가 높은 Kotlin 언어로 Spring Boot를 활용해 Rest API 벡엔드 구현에 성공하셨습니다. 다음 시간에는 조금더 실무에서 쓰일 수 있는 API로 발전시켜 보도록 하겠습니다.
'Spring Boot' 카테고리의 다른 글
[Kotlin Spring Boot 강의] Spring Data 패키지로 초간단실제 DB 연동하는 CRUD API 구현 방법 (0) | 2025.02.03 |
---|---|
[Kotlin Spring Boot 강의] JDBC로 실제 DB 연동하는 CRUD API 구현 방법 (0) | 2025.02.03 |
[Kotlin Spring Boot 강의] Data class로 Json 형식 Rest API 만드는 방법 (0) | 2025.01.26 |
[Kotlin Spring Boot 강의] 프로젝트 생성 방법 (0) | 2025.01.24 |
댓글