작성
·
316
0
1. 팔로워 삭제를 클릭하면, saga에서 removeFollowerAPI 함수에 진입하는걸 콘솔로 확인했습니다.
2. 네트워크에서 확인하면 pending이었다가, failed가 됩니다.
3. 서버 라우터에는 아예 진입을 하지 않습니다.
서버쪽 콘솔
Executing (default): SELECT `User`.`id`, `User`.`nickname`, `User`.`userId`, `User`.`password`, `User`.`createdAt`, `User`.`updatedAt`, `Posts`.`id` AS `Posts.id`, `Followings`.`id` AS `Followings.id`, `Followings->Follow`.`createdAt` AS `Followings.Follow.createdAt`, `Followings->Follow`.`updatedAt` AS `Followings.Follow.updatedAt`, `Followings->Follow`.`followingId` AS `Followings.Follow.followingId`, `Followings->Follow`.`followerId` AS `Followings.Follow.followerId`, `Followers`.`id` AS `Followers.id`, `Followers->Follow`.`createdAt` AS `Followers.Follow.createdAt`, `Followers->Follow`.`updatedAt` AS `Followers.Follow.updatedAt`, `Followers->Follow`.`followingId` AS `Followers.Follow.followingId`, `Followers->Follow`.`followerId` AS `Followers.Follow.followerId` FROM `Users` AS `User` LEFT OUTER JOIN `Posts` AS `Posts` ON `User`.`id` = `Posts`.`UserId` LEFT OUTER JOIN ( `Follow` AS `Followings->Follow` INNER JOIN `Users` AS `Followings` ON `Followings`.`id` = `Followings->Follow`.`followingId`) ON `User`.`id` = `Followings->Follow`.`followerId` LEFT OUTER JOIN ( `Follow` AS `Followers->Follow` INNER JOIN `Users` AS `Followers` ON `Followers`.`id` = `Followers->Follow`.`followerId`) ON `User`.`id` = `Followers->Follow`.`followingId` WHERE `User`.`id` = 2;
Executing (default): SELECT `User`.`id`, `User`.`nickname`, `User`.`userId`, `User`.`password`, `User`.`createdAt`, `User`.`updatedAt`, `Posts`.`id` AS `Posts.id`, `Followings`.`id` AS `Followings.id`, `Followings->Follow`.`createdAt` AS `Followings.Follow.createdAt`, `Followings->Follow`.`updatedAt` AS `Followings.Follow.updatedAt`, `Followings->Follow`.`followingId` AS `Followings.Follow.followingId`, `Followings->Follow`.`followerId` AS `Followings.Follow.followerId`, `Followers`.`id` AS `Followers.id`, `Followers->Follow`.`createdAt` AS `Followers.Follow.createdAt`, `Followers->Follow`.`updatedAt` AS `Followers.Follow.updatedAt`, `Followers->Follow`.`followingId` AS `Followers.Follow.followingId`, `Followers->Follow`.`followerId` AS `Followers.Follow.followerId` FROM `Users` AS `User` LEFT OUTER JOIN `Posts` AS `Posts` ON `User`.`id` = `Posts`.`UserId` LEFT OUTER JOIN ( `Follow` AS `Followings->Follow` INNER JOIN `Users` AS `Followings` ON `Followings`.`id` = `Followings->Follow`.`followingId`) ON `User`.`id` = `Followings->Follow`.`followerId` LEFT OUTER JOIN ( `Follow` AS `Followers->Follow` INNER JOIN `Users` AS `Followers` ON `Followers`.`id` = `Followers->Follow`.`followerId`) ON `User`.`id` = `Followers->Follow`.`followingId` WHERE `User`.`id` = 2;
DELETE /api/user/1/follower - - ms - -
DELETE /api/user/1/follower - - ms - -
4. 어떻게 해결 해야 될까요?..
function removeFollowerAPI(userId) {
console.log("saga removeFollowerAPI 요청 함수, userId > ", userId);
return axios.delete(`/user/${userId}/follower`, {
withCredentials: true
});
}
function* removeFollower(action) {
try {
const result = yield call(removeFollowerAPI, action.data);
yield put({
type: REMOVE_FOLLOWER_SUCCESS,
data: result.data
});
} catch (e) {
console.error(e);
yield put({
type: REMOVE_FOLLOWER_FAILURE,
error: e
});
}
}
router.delete("/:id/follower", isLoggedIn, async (req, res, next) => {
console.log("@@@@@@@@@@@@@@@@@@@@ /:id/follower delete");
try {
const me = await db.User.findOne({
where: { id: req.user.id }
});
await me.removeFollower(req.params.id);
res.send(req.params.id);
} catch (e) {
console.error(e);
next(e);
}
});