как мне получить запрос.запрос nextjs api?

#node.js #api #next.js

Вопрос:

У меня есть этот API, и я пытаюсь получить запрос, который я передаю в URL (например, products?page= 1amp;limit= 10), но я продолжаю получать пустой объект

 const handler = nc().use(Cors());
handler.get(async (req, res) => {
    await db.connect();
    console.log(req.query)
    const products = await Product.paginate({}, { page: 1, limit: 30 });
    res.send(products);
});

export default handler;
 

Комментарии:

1. Можете ли вы вставить свой полный код?

2. Я мог бы, но что вам нужно? Это весь код, который у меня есть в этом api

3. Из чего импортируются эти объекты const handler = nc().use(Cors()); ?

4. Я использую next-connect и cors

5. Это маршрут API ? Вы правильно обращаетесь к пути, например /api/products?page=1amp;limit=10 ?

Ответ №1:

 console.log(req.query.page, req.query.limit)
 

Вы можете передавать любые реквизиты в свой api

 const desiredId = 'xyz'
'https://yourAPI/getSomething?any_name_you_want='  desiredId
//in your api
console.log(req.query.any_name_you_want)
 

Комментарии:

1. если я обращусь к /api/products?page=1amp;limit=1 вам, я действительно получу ответ в ответ. Тогда я не понимаю, как это реализовать? В моем запросе API указан базовый URL- /api/products адрес, так что именно туда отправляется запрос. Когда я пытаюсь просто получить запрос, он не работает localhost:3000/products?page=1

Ответ №2:

Ну, мне каким-то образом удалось это сделать, хотя, вероятно, это не лучший способ. Это работает, хотя и мое основное внимание уделяется не серверной части, поэтому я думаю, что этого достаточно

В запросе redux toolkit:

     endpoints: (builder) => ({
    getAllProducts: builder.query({
        query: (page = 1) => `${baseUrl}?page=${page}`,
    }),
 

В моем index.js

 const router = useRouter();
const [page, setPage] = useState(1);
const { data, isLoading, error } = useGetAllProductsQuery(page);

const handlePaginationChange = (e, value) => {
    e.preventDefault();
    setPage(value);
    router.push(`/products?page=${value}`);
};
 

и мой маршрут API:

  const handler = nc().use(Cors());
handler.get(async (req, res) => {
    await db.connect();
    const products = await Product.paginate({}, { page: req.query.page, limit: 9 });
    res.send(products);
});