본문 바로가기

Backend/REST API

data class 만들고 @GetMapping으로 data class 호출하기 + Postman 실행결과 + @RestController

Person.kt 

package com.example.test_1.domain

data class Person(
    val id:Long=1,
    val name:String="",
    val lastName: String?=null
)

 

Test1Application.kt

package com.example.test_1

import com.example.test_1.domain.Person
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RestController

@SpringBootApplication
@RestController
class Test1Application{
    @GetMapping("/")
    fun hi(): Person {
        return Person()
    }
}

fun main(args: Array<String>) {
    runApplication<Test1Application>(*args)
}

 

@GetMapping부분에서 data class로 정의한 Person을 호출하고 리턴해준다. 

그 후에는 localhost:8080으로 출력 결과를 보면 data class로 작성했던 Person 데이터 클래스 내부의 data들이 JSON 형태로 반환된다.

 

만약 @GetMapping("/hi")를 하고 localhost:8080/hi로 하더라도 같은 결과가 출력된다. 

@SpringBootApplication
@RestController
class Test1Application{
    @GetMapping("/hi")
    fun hi(): Person {
        return Person()
    }
}

 

Postman 실행결과 

localhost:8080 

(@GetMapping("/")일 경우) 

 

 

localhost:8080/hi

(@GetMapping("/hi")일 경우) 

 

@RestController 

이 어노테이션이 있어야 spring boot는 이 클래스가 Controller라는 것을 안다.