在 Next.js 返回错误中从 API 端点返回 404
Returning a 404 from an API endpoint in Next.js returning error
问题是,如果 ID 不在数据库中,它将 return 出现 404 错误,我尝试检查 res.status == 404,但它 returns 进行验证之前的错误。
export const getServerSideProps = async (context) => {
const { id } = context.query;
const res = await axios.get(`${process.env.API_URL}/user/jobs/${id}`); //if ID does not exists here returns an error an does not validate the below lines
if (res.status == 404) { //not check if the above request returns a 404
return {
notFound: true,
};
}
const jobs = res.data;
return {
props: {
jobs,
},
};
};
与其根据结果创建条件,不如创建错误处理程序。如何处理 reactjs 错误:https://reactjs.org/blog/2017/07/26/error-handling-in-react-16.html
使用 fetch 代替 axios。
export const getServerSideProps = async (context) => {
const { id } = context.query;
const res = await fetch(`${process.env.API_URL}/user/application/${id}`);
const data = await res.json();
console.log(data);
if (data.success == false) {
return {
notFound: true,
};
}
const jobs = data.job;
return {
props: {
jobs,
},
};
};
问题是,如果 ID 不在数据库中,它将 return 出现 404 错误,我尝试检查 res.status == 404,但它 returns 进行验证之前的错误。
export const getServerSideProps = async (context) => {
const { id } = context.query;
const res = await axios.get(`${process.env.API_URL}/user/jobs/${id}`); //if ID does not exists here returns an error an does not validate the below lines
if (res.status == 404) { //not check if the above request returns a 404
return {
notFound: true,
};
}
const jobs = res.data;
return {
props: {
jobs,
},
};
};
与其根据结果创建条件,不如创建错误处理程序。如何处理 reactjs 错误:https://reactjs.org/blog/2017/07/26/error-handling-in-react-16.html
使用 fetch 代替 axios。
export const getServerSideProps = async (context) => {
const { id } = context.query;
const res = await fetch(`${process.env.API_URL}/user/application/${id}`);
const data = await res.json();
console.log(data);
if (data.success == false) {
return {
notFound: true,
};
}
const jobs = data.job;
return {
props: {
jobs,
},
};
};