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라는 것을 안다.
'Backend > REST API' 카테고리의 다른 글
REST API 규칙 (0) | 2023.02.14 |
---|---|
@Controller와 @RestController의 차이점 (0) | 2023.02.07 |
@GetMapping 적용해보기 (with @RestController) (0) | 2023.02.07 |
[Postman Test] 400 - JSON Parse Error (0) | 2023.01.31 |
[Postman] 415 - "Unsupported Media Type" 해결방법 (0) | 2023.01.31 |