https://velog.io/@mkh1213/React-GraphQL-Typescript-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-2
화면쪽 코드 작성 후 서버쪽 코드 작성
Mutation: {
async postUser(_, {email, password, name}) {
console.log("postUser 실행!")
const newUser = new User({
email,
password,
name,
});
let result;
try {
result = await newUser.save();
} catch (error) {
console.log(`postUser Error [${error}]`);
}
return result;
}
},
화면, 서버를 실행(npm run start)
test@test.com / test / test 입력 후 SIGN UP 버튼 클릭
MongoDB 확인하면 값이 잘 들어온 것을 확인
Query: {
async getUser(_, {email, password}) {
console.log("getUser 실행!");
const result = await User.findOne({email: email, password: password});
return result;
}
},
Query: {
async getUser(_, {email, password}) {
console.log("getUser 실행!");
let result;
try {
result = await User.findOne({email: email, password: password});
} catch (error) {
console.log(`getUser Error = ${error}`);
}
return result;
},
async getUserByEmail(_, {email}) {
let result;
try {
result = await User.findOne({email: email});
} catch (error) {
console.log(`getUser Error = ${error}`);
}
return result;
}
},
Mutation: {
async postUser(_, {email, password, name}) {
console.log("postUser 실행!")
const newUser = new User({
email,
password,
name,
});
let result;
try {
result = await newUser.save();
} catch (error) {
console.log(`postUser Error = ${error}`);
}
return result;
},
async patchUser(_, {email, password, name}) {
console.log("patchUser 실행!")
let result;
try {
result = await User.findOneAndUpdate(
{email: email},
{$set: {password: password, name: name}}
);
} catch (error) {
console.log(`patchUser Error = ${error}`);
}
return result;
return result;
},
async deleteUser(_, {email, password}) {
console.log("deleteUser 실행!");
let result;
try {
result = await User.findOneAndDelete({email: email, password: password});
} catch (error) {
console.log(`deleteUser Error = ${error}`);
}
return result;
}
},
type Query {
getUser(
email: String!
password: String!
): User
getUserByEmail(
email: String!
): User
}
type Mutation {
postUser(
email: String!
password: String!
name: String!
): User
patchUser(
email: String!
password: String!
name: String!
): User
deleteUser(
email: String!
password: String!
name: String!
): User
}
https://velog.io/@mkh1213/React-GraphQL-Typescript-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-3