제 질문은 일종의 모범 사례입니까?서버 측에서 GraphQL enums 유효성 검사에 대한 응답
MongoDB를 데이터 저장소로 사용하여 API로 GraphQL을 사용하는 백엔드를 만듭니다. graphql이 쿼리, 특히 수신 된 enum을 확인한다는 것을 알고 있습니다.
제 질문은 graphql 입력 열거 형 검증에 의존하는 것으로 충분합니까 아니면 DB 수준에서 유효성 검사를 추가해야합니까?
나는 이것이 나쁜 습관과 불필요한 코드 중복으로 보였기 때문에 이것을 묻습니다. gum 스키마와 mongoDB 모델에서 가능한 열거 형을 두 곳으로 정의 할 수 있습니다.
예컨대 :
GQL 스키마 : 몽구스의
enum EyeColor {
BROWN
BLUE
GREEN
}
모델 :
new mongoose.Schema({
eyeColor: { type: String, enum: ["BROWN", "BLUE", "GREEN"] }
});
내가 놓친 게 뭔가? graphql을 사용하여 열거 형을 선언하는 좋은 방법이 있습니까?
또는 graphql에만 의존하는 것이 좋습니다.
const EYE_COLOR = {
BROWN: 'BROWN',
BLUE: 'BLUE',
GREEN: 'GREEN'
};
export {
EYE_COLOR
};
다음 몽구스 모델 파일 :
import { EYE_COLOR } from '../../consts/EyeColor.const';
import _ from 'lodash';
new mongoose.Schema({
eyeColor: {
type: String,
enum: _.values(EYE_COLOR)
}
});
그리고 graphql 당신은 동적으로 할 수