728x90
반응형
1. JSON으로 던지기
DTO (Data Transfer Object) 라고 표현하면서 사용을 하는듯?
demo/dto/HelloResponse.kt 를 만들어 사용하기로 했다.
package com.example.demo.dto
data class HelloResponse(
val message: String
)
주의: ()로 묶어야한다. {}로 묶으면 안돼
package com.example.demo
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RestController
import com.example.demo.dto.HelloResponse
@RestController
class HelloController {
@GetMapping("/hello")
fun hello(): HelloResponse {
return HelloResponse(message="HEllo Aiden! JSON")
}
}

2. POST 메서드 만들기
구상: name을 POST로 보내면 받아서 Hello, {name} 을 GET하자.
- HelloRequest.kt
package com.example.demo.dto
data class HelloRequest(
val name: String
)
- HelloController.kt
package com.example.demo
import org.springframework.web.bind.annotation.*
import com.example.demo.dto.HelloResponse
import com.example.demo.dto.HelloRequest
@RestController
@RequestMapping("/hello")
class HelloController {
@PostMapping
fun helloPost(@RequestBody request: HelloRequest): HelloResponse {
val message="Hello, ${request.name}!"
return HelloResponse(message)
}
}
@RequestMapping
@PostMapping
이거 DRF에서 전체경로에 있는 urls.py가 RequestMapping이고 app아래에 있는 urls.py가 PostMapping임.
@PostMapping이랑 @PostMapping("/") 이랑 동일하게 보면됨.
@RequestBody는 JSON 요청 바디를 파라미터로 받으려고 사용한 것.

728x90
반응형
'웹 프로그래밍 > Kotlin' 카테고리의 다른 글
Intellij에서 실행안되는 문제 (0) | 2025.04.18 |
---|---|
코틀린 시작 기록(3) (0) | 2025.04.07 |
코틀린 시작 기록 (1) (1) | 2025.04.06 |