使用 Deno 的 Oak 开发 API:TypeError - request.body 不是函数

问题描述 投票:0回答:1

这是我第一次在这个论坛上发帖,但我遇到了一个真正困扰我的问题,并且我在其他地方找不到答案。我正在学习如何通过对产品列表进行基本查询来使用 Deno 的 Oak 开发 API。

除了我有一个无法修复的错误 TypeError - request.body 不是函数

const addProduct = async(
    { request, response } : { request: any, response: any },
) => {
    const body = await request.body();

    if (!request.hasBody) {
        response.status = 400;
        response.body = {
            success: false,
            msg: "No data",
        };
    }
    else {
        const product: Product = body.value;
        products.push(product);
        response.status = 201;
        response.body = {
            success: true,
            data: product,
        };
    }
};

我的代码中有其他请求,我只与您分享其中的一部分

export { getProducts, getProduct, addProduct, updateProduct, deleteProduct };

提前感谢您的宝贵时间!如果您需要任何进一步的信息,请告诉我。

PS:为了测试我的查询,我使用 Postman

我显然尝试删除括号,但在这种情况下,它不会检索插入在 Postman(原始)上的正文,而只是返回 success true。我尝试遵循找到的并行解决方案,但不是专家,我无法理解和适应它们

typescript api typeerror deno oak
1个回答
0
投票

您可以尝试一下这个解决方案吗

import { Request, Response } from "https://deno.land/x/oak/mod.ts";

const addProduct = async ({ request, response }: { request: Request, response: Response }) => {
    const body = await request.body();

    if (!request.hasBody) {
        response.status = 400;
        response.body = {
            success: false,
            msg: "No data",
        };
    }
    else {
        const product: Product = body.value;
        products.push(product);
        response.status = 201;
        response.body = {
            success: true,
            data: product,
        };
    }
};
© www.soinside.com 2019 - 2024. All rights reserved.