refactor : Nickname 입력 유효성 검사 ChangeNicknameRequest 에서 수행하도록 변경
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user