작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
296
0
엔티티
@Entity()
@ObjectType()
export class Reservation {
@PrimaryGeneratedColumn('uuid')
@Field(() => String)
reservationId: string;
@Column({ nullable: false })
@Field(() => Date)
startDate: Date;
@Column({ nullable: false })
@Field(() => Date)
endDate: Date;
@Column({ nullable: false })
@Field(() => Int)
usersNumber: number;
@Column({ nullable: false })
@Field(() => Int)
lengthOfStay: number;
@Column({ nullable: false })
@Field(() => Int)
price: number;
@ManyToOne(() => Member)
@JoinColumn({ name: 'memberId' })
@Field(() => Member)
member: Member;
@ManyToOne(() => Campground)
@JoinColumn({ name: 'campgroundId' })
@Field(() => Campground)
campground: Campground;
@ManyToOne(() => Tent)
@JoinColumn({ name: 'tentId' })
@Field(() => Tent)
tent: Tent;
@DeleteDateColumn()
deletedAt: Date;
}
데이터 생성 DTO
@InputType()
export class CreateReservationInput extends OmitType(
Reservation,
['reservationId', 'member', 'campground', 'tent'],
InputType,
) {
@Field(() => String)
memberId: string;
@Field(() => String)
campgroundId: string;
@Field(() => String)
tentId: string;
}
위 코드에 graphQL 요청시 에러가 발생합니다.
mutation {
createReservation (
createReservationInput: {
startDate: "2023-01-01"
endDate: "2023-06-06"
usersNumber: 5
lengthOfStay: 10
price: 5
memberId: "lhw3542"
campgroundId: "d35d3972-5c07-47d7-94a2-23c784f0a27e"
tentId: "3ae33a7c-c898-4b66-b110-02b4f8c96398"
}
) {
reservationId
startDate
endDate
usersNumber
lengthOfStay
price
member { memberId }
campground { campgroundId }
tent { tentId }
}
}
Field 'startDate' doesn't have a default value
날짜 형식을 읽지 못하는 것 같은데 무엇이 잘못된 걸까요?
아래와 같이 DTO에 직접 써줘도 인식을 못하고 있습니다.
@Field(() => Date)
startDate: Date;
@Field(() => Date)
endDate: Date;
답변 1
0
안녕하세요! Haewoong님!
해당 에러 메시지는 resolver에서 받은 startDate가 mysql에 저장되지 못하고 있어서 발생된 mysql 에러 메시지 입니다!
따라서, dto 및 graphql은 정상적으로 통과되었을 것이며, 통과된 데이터가 왜 mysql에 저장되지 못하고 있는지 해당 부분을 확인해 보시면 좋을 것 같습니다!^^