// 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
  )
}

이런 코드를 습관적으로 작성하고 있다.

이렇게 하면 뭐가 좋아지는 건지에 대한 개념을 암묵지에서 형식지로 바꾸기 위해 해당 글을 작성해본다.