// Controller 계층
@PostMapping("/shorten")
fun shortenUrl(
@RequestBody request: ShortenUrlRequest
): ShortenUrlResponse {
val input = request.toInput()
val output = shortenUrlService.shortenUrl(input)
return ShortenUrlResponse.from(output)
}
// Service 계층
fun shortenUrl(input: ShortenUrlInput): ShortenUrlOutput {
val shortenUrl = generateShortenUrl(input)
return ShortenUrlOutput(
shortUrl = shortenUrl
)
}
이런 코드를 습관적으로 작성하고 있다.
Request
, Response
로Input
, Output
으로이렇게 하면 뭐가 좋아지는 건지에 대한 개념을 암묵지에서 형식지로 바꾸기 위해 해당 글을 작성해본다.