From ac51c21bd509a3152c67062a449eabfd97cb5a8d Mon Sep 17 00:00:00 2001 From: banjjoknim Date: Sun, 24 Apr 2022 18:15:26 +0900 Subject: [PATCH] =?UTF-8?q?refactor=20:=20Nickname=20=EC=9E=85=EB=A0=A5=20?= =?UTF-8?q?=EC=9C=A0=ED=9A=A8=EC=84=B1=20=EA=B2=80=EC=82=AC=20ChangeNickna?= =?UTF-8?q?meRequest=20=EC=97=90=EC=84=9C=20=EC=88=98=ED=96=89=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/adapter/in/web/ChangeNicknameRequest.kt | 8 ++++++++ .../user/adapter/in/web/ChangeNicknameWebAdapter.kt | 3 ++- .../com/banjjoknim/cleanarchitecture/user/pojo/Nickname.kt | 12 +----------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/adapter/in/web/ChangeNicknameRequest.kt b/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/adapter/in/web/ChangeNicknameRequest.kt index a833f6c..f4f36e9 100644 --- a/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/adapter/in/web/ChangeNicknameRequest.kt +++ b/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/adapter/in/web/ChangeNicknameRequest.kt @@ -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 + } } diff --git a/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/adapter/in/web/ChangeNicknameWebAdapter.kt b/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/adapter/in/web/ChangeNicknameWebAdapter.kt index 628f946..98d3694 100644 --- a/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/adapter/in/web/ChangeNicknameWebAdapter.kt +++ b/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/adapter/in/web/ChangeNicknameWebAdapter.kt @@ -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) diff --git a/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/pojo/Nickname.kt b/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/pojo/Nickname.kt index f7f457f..8b02ff2 100644 --- a/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/pojo/Nickname.kt +++ b/놀이터(예제 코드 작성)/learn-with-making-clean-architecture/src/main/kotlin/com/banjjoknim/cleanarchitecture/user/pojo/Nickname.kt @@ -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)