-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: timetableLecture 클래스 필드 수정 #1070
Changes from 3 commits
e7b1457
2d16d9d
74669cc
4c2fd66
e343baa
7929480
ee079da
a391325
9c4b669
b1dacf9
8023610
9997f75
fa73f50
c3caa79
bb0bc4a
2afb11a
d36cc07
3ae4c50
c16bc29
8ba6728
4e15f2b
8630d82
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -42,8 +42,8 @@ public class TimetableLecture extends BaseEntity { | |
@Column(name = "class_time", columnDefinition = "TEXT") | ||
private String classTime; | ||
|
||
@Size(max = 30) | ||
@Column(name = "class_place", length = 30) | ||
@Size(max = 255) | ||
@Column(name = "class_place", length = 255) | ||
private String classPlace; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. R생각해보니 이 부분 TEXT로 변경해야할것 같습니다. List형식의 dto는 @SiZe어노테이션의 유형 검증이 안돼서 서버오류가 발생하더라고요.. 그래서 classTime도 현재 TEXT로 돼있는 이유가 저번에 이러한 이유로 서버 오류가 발생했었기때문이에요. 그래서 맘편하게 model에서 TEXT로 변경하거나, DTO에서 리스트형식의 유효성검증에 대해서 더 찾아봐야할것같아요! There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 지금 로컬에서 돌려보니 서버오류 발생하네요! There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 의견 감사합니다 ! List에 Size 어노테이션을 적용하면, List 길이를 검증하는 것을 생각 못 했네요.. 저는 개인적으로는 TEXT으로 변경하는 것 보다는 DTO에서 유효성 검증을 추가적으로 하는 것이 어떨까라는 생각이 듭니다. 관련해서 코드를 한번 작성해봤습니다. @JsonNaming(value = SnakeCaseStrategy.class)
public record InnerTimeTableLectureRequest(
...
@Schema(description = "강의 장소", example = "도서관", requiredMode = NOT_REQUIRED)
@Size(max = 10)
@Valid
List<ClassPlace> classPlace,
...
) {
public record ClassPlace(
@Length(max = 20)
String name
) {
}
} 강의 장소 이름 길이 제한은 20, 총 강의 장소의 개수는 10개만 입력을 받게 됩니다. 요청 메시지 바디는 다음과 같습니다. {
"timetable_frame_id": 12084,
"timetable_lecture": [
{
"class_title": "테스트",
"class_time": [1, 2, 3, -1, 101, 102, 103],
"class_place": [
{
"name": "장소"
},
{
"name": "도서관"
}
],
"professor": "null",
"grades": "0",
"memo": "메모메모"
}
]
} 이전 데이터와의 호환성(?)을 위해 파싱 메소드도 다음과 같이 변경해야할 것 같습니다. private String getClassPlaceToString() {
if (classPlace == null) {
return null;
}
return classPlace.stream()
.map(ClassPlace::name)
.collect(Collectors.joining(", "));
} There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 저도 dto로 검증하면 좋긴한데.. list형식은 dto에서 size유효성 검증이 안되더라구요 |
||
|
||
@Size(max = 30) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A
구우웃~!