-
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
Conversation
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.
반영해주셔서 감사합니다! 고생하셨어요~
@Size(max = 255) | ||
@Column(name = "class_place", length = 255) |
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
구우웃~!
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.
수고 많으셨습니다!
@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 comment
The 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 comment
The 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 comment
The reason will be displayed to describe this comment to others. Learn more.
의견 감사합니다 ! List에 Size 어노테이션을 적용하면, List 길이를 검증하는 것을 생각 못 했네요..
그래서 대안으로 주신 TEXT도 좋다고 생각을 합니다.
저는 개인적으로는 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개만 입력을 받게 됩니다.
총 강의 장소에 개수를 거는 상황이 발생하지만, 하나의 커스텀 강의에서 10개 이상의 강의 장소를 선택할까?
라는 의문이 드네요,, 만약 이 방안으로 가게 된다면 PM님과의 상의가 필요해 보이는 부분입니다.
요청 메시지 바디는 다음과 같습니다.
{
"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 comment
The reason will be displayed to describe this comment to others. Learn more.
+ class_time으로 저렇게 바꾸고 싶다는 생각이...
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.
저도 dto로 검증하면 좋긴한데.. list형식은 dto에서 size유효성 검증이 안되더라구요
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.
구분자까지 넣어주셨네요~ 클라이언트와 소통 활발한 관규티비..
고생하셨습니다~
@Size(max = 30) | ||
@Column(name = "class_place", length = 30) | ||
@Lob | ||
@Column(name = "class_place", columnDefinition = "TEXT") |
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
굿 이거 안 하면 애가 아파해요
… fix/1067-modify-timetable-lecture
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.
프론트님들 대응 된다고 하면 머지 하셔도 될 듯
고생하셨습니다~
🔥 연관 이슈
🚀 작업 내용
💬 리뷰 중점사항
프론트 대응과 같이 머지 할 생각입니다.