refactor : Nickname 입력 유효성 검사 ChangeNicknameRequest 에서 수행하도록 변경

This commit is contained in:
banjjoknim
2022-04-24 18:15:26 +09:00
parent a8736fab0a
commit ac51c21bd5
3 changed files with 11 additions and 12 deletions

View File

@@ -1,12 +1,20 @@
package com.banjjoknim.cleanarchitecture.user.adapter.`in`.web
import com.banjjoknim.cleanarchitecture.user.application.port.`in`.ChangeNicknameRequestData
import javax.validation.constraints.NotBlank
import javax.validation.constraints.Size
data class ChangeNicknameRequest(
val userId: Long,
@field:NotBlank
@field:Size(max = NICKNAME_LENGTH_LIMIT)
val newNickname: String
) {
fun toData(): ChangeNicknameRequestData {
return ChangeNicknameRequestData(userId, newNickname)
}
companion object {
private const val NICKNAME_LENGTH_LIMIT = 10
}
}

View File

@@ -5,6 +5,7 @@ import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import javax.validation.Valid
@RequestMapping("/users")
@RestController
@@ -12,7 +13,7 @@ class ChangeNicknameWebAdapter(
private val changeNicknameWebPort: ChangeNicknameUseCase
) {
@PostMapping("")
fun changeNickname(@RequestBody changeNicknameRequest: ChangeNicknameRequest): ChangeNicknameResponse {
fun changeNickname(@RequestBody @Valid changeNicknameRequest: ChangeNicknameRequest): ChangeNicknameResponse {
val requestData = changeNicknameRequest.toData()
val responseData = changeNicknameWebPort.changeNickname(requestData)
return ChangeNicknameResponse(responseData.userId)

View File

@@ -1,13 +1,3 @@
package com.banjjoknim.cleanarchitecture.user.pojo
data class Nickname(val value: String) {
init {
if (value.length > NICKNAME_LENGTH_LIMIT) {
throw IllegalArgumentException("회원의 닉네임의 길이는 $NICKNAME_LENGTH_LIMIT 를 초과할 수 없습니다.")
}
}
companion object {
private const val NICKNAME_LENGTH_LIMIT = 10
}
}
data class Nickname(val value: String)