데이터 검증2 ErrorResponse의 Map 변경
540
1 asked
안녕하세요 호돌님!
데이터 검증2 부분에서 Map을 Dto로 변경후 테스트를 통과하였는데,
맞는 방법인지, 더 효율적인 방법이 있는지 궁금합니다!
변경한 코드내용은 다음과 같습니다
ErrorResponse

Validation 클래스 생성

테스트 코드

테스트 결과

답변 부탁드립니다 감사합니다!
Answer 1
1
안녕하세요. 호돌맨입니다.
와 이걸 개선하신분이 있다니 정말 환영입니다. (기다리고 있었습니다.)
따로 클래스를 추가 하신 부분 멋있습니다.
현재는 title 값이 잘못된 경우에 대하여 오류를 뱉으신것 같습니다.
만약 서버에서 한 가지 필드에 대해서만 피드백을 응답한다면 좋은 방법 같습니다.
그런데 저는 실무에서 클라이언트에서 전달받은 값을 모두 검증한 뒤에 잘못된 부분을 모두 피드백 해주는 형태로 진행한 경우가 많았습니다.
{
"code": 400,
"message": "..",
"validation": {
"fieldName": "title",
"message": "타이틀을 입력해주세요",
"fieldName": "content", // 키 중복
"message": "콘텐츠를 입력해주세요." // 키 중복
}
}예를들어 title 뿐만 아니라content 값에도 문제가 있다면 두 개의 값에 필드백을 응답 하는거죠.
아뿔싸! 하지만 질문자님의 json 구조라면 키 값이 중복 됩니다.
{
"code": 400,
"message": "..",
"validation": {
"title": "타이틀을 입력해주세요",
"content": "콘텐츠를 입력해주세요."
}
}키 값을 필드 명으로 하면 좋겠지만.. 그러면 클래스의 값을 동적으로 만들어내야하니 힘들겠죠. (그래서 제가 Map을 이용했죠..ㅋ)
그렇다면 여러개의 피드백을 전달하기 위해 질문자님의 구조 + 리스트를 사용해 본거는 건 어떨까요?
{
"code": 400,
"message": "..",
"validation": [
{
"fieldName": "title",
"message": "타이틀을 입력해주세요"
},
{
"fieldName": "content",
"message": "..."
}
]
}위와 같이 말이죠!
한 번 개선 해보시면 좋을것 같습니다! 으핫핫
감사합니다.
Deprecated 관련 사항들
0
100
2
깃헙 collaboator 초대 관련
0
87
1
강의 듣다가 도커 이미지 생성시 각각도 가능하나 그렇게 사용하는데가 많은지 모르겠다라는 말을 듣고 남김니다
0
157
2
logout 후에 login 페이지 이동은 어디서 시켜주는건가요?
0
231
1
다중 데이터를 삭제 할 때
0
270
2
querydsl Q class 이슈
0
414
2
Windows WSL Vue 설정
2
246
1
Dip, @transactional
0
187
1
[vite] http proxy error: /auth/login
0
1043
2
로그인 하고 나서 GET요청으로 메인페이지 요청
0
234
2
GitHub Collaborator 초대 관련
0
256
2
Window에서 Vue.js 설정
0
321
2
(솔루션 수정)'tsyringe' Error: TypeInfo not known for "클래스명"
0
713
2
collaboator로 초대받을 수 있을까요??
0
283
2
SecurityMockContext 로부터 유저 정보를 가져오기
0
261
1
given 부분이 길어질 때 어떻게 처리하면 좋을까요?
0
318
1
섹션9 프론트의 코드를 보고싶습니다,,,
0
423
1
Spring Security - defaultSuccessUrl 질문
0
625
1
강의 화면이 나오지 않습니다. 음성과 자막만 나와요
0
302
1
JPAQueryFactory(em)의 객체 생성자 오류에 대해서 질문이 있습니다ㅜㅜ
0
690
2
ExceptionHandler가 AccessDeniedHandler(Http403Handler)를 먹어버리는 현상
0
1179
2
섹션10 언제 나오나요?
0
484
1
CommentService에서 Repository를 호출하지 않는데도
0
342
1
Editor....를 활용한 패턴에 질문있습니다.
0
494
1

