프로필 부분 getUser.ts Error가 반환되지 않는 이유를 모르겠습니다.
189
작성한 질문수 10
import { QueryFunction } from "@tanstack/react-query";
import { User } from "@/model/User";
const getUser: QueryFunction<User, [string, string]> = async ({ queryKey }) => {
const [_1, username] = queryKey;
const res = await fetch(`http://localhost:9090/api/users/${username}`, {
next: {
tags: ["users", username],
},
cache: "no-store",
});
console.log("res.ok : ", res.ok);
if (!res.ok) {
throw new Error("해당 유저 정보를 불러오지 못 했습니다.");
}
return res.json();
};
export default getUser;
mocks>handler.ts에 없는 username을 url에 입력해도 res.ok로 떠서 if문을 그냥 통과해버립니다.
혹시 제가 놓치는 부분이 있는걸까요?
답변 1
1
handler.ts 코드를 봐야겠는데요? handler.ts에도 없는 경우 에러를 응답하고 있어야 합니다.
1
아.. 해결했습니다. 제가 이전에 반환을 아래 코드로 진행했었습니다.
이렇게 return하고 있었어서 못 알아챘던 것 같습니다.
http.get("api/users/:userId", ({ request, params }) => {
const { userId } = params;
const found = User.find((v) => v.id === userId);
if (found) {
return HttpResponse.json(found);
} else {
return HttpResponse.json({
message: "유저를 찾지 못했습니다.",
errorStatus: 404,
});
}
}),http.get("api/users/:userId", ({ request, params }) => {
const { userId } = params;
const found = User.find((v) => v.id === userId);
if (found) {
return HttpResponse.json(found);
} else {
return HttpResponse.json(
{
message: "유저를 찾지 못했습니다.",
},
{
status: 404,
}
);
}
}),아래 코드로 수정하니 해결되었습니다. 이전 코드는 왜 에러 캐칭이 되지 않았는지 알아보겠습니다. ㅠ
칼답변 감사드립니다.
--- + 1번 코드와 2번 코드 차이?
A. HttpResponse.json()의 첫 번째 인자는 무조건 200을 반환한다. 따라서 에러 코드를 반환하기 위해서는 명시적으로 두 번째 인자에 에러 상태코드를 작성해주자.
캡처링부분 질문있습니다.
0
76
2
깃에 소스코드를 찾을 수 없습니다.
0
114
2
useInfiniteQuery promise와 react use 사용시 페이지 무한 로딩
0
98
1
import 파일 경로를 찾지 못 해서 에러가 발생합니다.
0
111
2
css 라이브러리 추천 부탁드립니다
0
141
2
팔로우 추천 목록이 빈 배열로 들어옵니다.
0
133
1
게시물 업로드 시 userId가 undefined로 들어가는 오류
0
119
1
useSuspenseQuery 사용 시 SSR 401 이슈 관련
0
173
1
리액트 쿼리 useinfinitequery 무한스크롤 구현 시 페이지가 이동할 경우 데이터가 보존되게 할 수 있나요??
0
186
3
폴링이 필요없는 이유
0
93
2
next Request Memoization과 react cache
0
110
2
seo 최적화 기준은 데이터 fetching인가요 아님 데이터 렌더링인가요?
0
84
2
next.js 서버fetch 에러 fallback ui 구현 방법
0
173
2
프레임워크 여론 파악법
0
125
2
필터옵션이 많은 페이지에서 서버 fetch를 하는게 맞는걸까요??
0
103
2
서버 fetch suspense 로 감싸고 새로고침 시 잠시 빈 화면이 노출된 후 fallback ui가 노출됩니다.
0
102
2
template.tsx 내 서버fetch 응답값과 클라이언트 컴포넌트 상태값 싱크가 맞지 않는 이슈
0
66
2
Auth.js 사용 시 authorize 함수가 호출되지 않습니다
0
132
2
next.js 에서 로그인에 관하여
0
139
1
Next의 route handler에 대한 질문이 있습니다.
0
101
2
게시판 리스트 만들때 use client를 어디서부터 집어넣어야할지 모르겠습니다
0
99
2
프라이빗 폴더를 해야 하는 이유가 모호한 것 같아요.
0
85
2
vanilla-extract 못찾는 문제
0
230
2
fetch 캐싱과 revalidate 관련
0
86
2





