Apollo Server를 사용하여 GraphQL API를 개발하는 도중 "Upload" 타입을 사용할 때 다음과 같은 에러 메시지가 발생하는 경우가 있습니다: "Error: Unknown type 'Upload'. Did you mean 'Float'?" 이러한 에러가 발생하는 이유는 Apollo Server가 "Upload" 타입을 인식하지 못하고 대신 "Float" 타입을 제안하기 때문입니다.
이러한 에러를 해결하기 위해서는 스키마 파일에서 다음과 같은 작업을 수행해야 합니다.
import { gql } from "apollo-server";
export default gql`
scalar Upload
type EditProfileResult {
ok: Boolean!
error: String
}
type Mutation {
editProfile(
firstName: String
lastName: String
username: String
email: String
password: String
bio: String
avatar: Upload
): EditProfileResult!
}
`;
위와 같이 수정한 스키마를 적용하면 "Upload" 타입을 사용하여 파일 업로드를 처리할 수 있게 됩니다. 예를 들어, editProfile 뮤테이션의 avatar 인자에 업로드할 파일을 전달하고 해당 파일을 처리하는 로직을 구현할 수 있습니다.