首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeJS -使用node-fetch发送JSON对象参数

NodeJS -使用node-fetch发送JSON对象参数
EN

Stack Overflow用户
提问于 2019-05-28 16:09:45
回答 1查看 2.8K关注 0票数 1

我正在尝试通过GitHub应用程序接口创建一个webhook。docs说我需要提供一个config参数,它应该是一个对象,但是我不确定如何在参数中发送一个JSON。这是我尝试过的:

代码语言:javascript
复制
fetch(`https://api.github.com/repos/${repo.full_name}/hooks?config={"url": "https://webhooks.example.com", "content_type": "json"}`, {
    method: "POST",
    headers: {
        Accept: "application/vnd.github.v3+json",
        Authorization: `token ${account.accessToken}`
    }
});

代码语言:javascript
复制
fetch(`https://api.github.com/repos/${repo.full_name}/hooks?config.url=https://webhooks.example.com&config.content_type=json`, {
    method: "POST",
    headers: {
        Accept: "application/vnd.github.v3+json",
        Authorization: `token ${account.accessToken}`
    }
});

它们都会导致以下错误:

代码语言:javascript
复制
{
    "message": "Validation Failed",
    "errors": [
        {
            "resource": "Hook",
            "code": "custom",
            "message": "Config must contain URL for webhooks"
        }
    ],
    "documentation_url": "https://developer.github.com/v3/repos/hooks/#create-a-hook"
}

如何正确发送JSON对象?我正在寻找使用node-fetch的解决方案

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-28 16:40:29

当您执行post请求时,这意味着将有一个有效负载,并且您正在使用的库将期望包含您的有效负载的body属性。

所以只需添加

代码语言:javascript
复制
fetch('https://api.github.com/repos/${repo.full_name}/hooks') {
    method: "POST",
    headers: {
        Accept: "application/vnd.github.v3+json",
        Authorization: `token ${account.accessToken}`
    },
    body:JSON.stringify(yourJSON) //here this is how you send your datas
});

node-fetch会把你的正文和你的请求一起发送。

如果你想知道更多细节,我会给你更多的答案

有关不同https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods请求类型(动词)的快速描述,请单击此处

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56337728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档