用主体执行Get请求-Node js

时间:2018-06-25 09:56:48

标签: javascript node.js elasticsearch request

我正在尝试对弹性搜索api执行GET请求 这种形式需要的

GET /_search
{
    "query": {
        "more_like_this" : {
            "fields" : ["title", "description"],
            "like" : "Once upon a time",
            "min_term_freq" : 1,
            "max_query_terms" : 12
        }
    }
}

我使用了request 但是我找不到如何在请求中添加正文。

有帮助吗?

4 个答案:

答案 0 :(得分:2)

您可以看到有关request(options, callback)

的文档

此外,GET方法不应发送任何正文,请确认它不是POST

request.get('http://localhost:8092/_search', {
  json: true,
  body: {
    "query": {
        "more_like_this" : {
            "fields" : ["title", "description"],
            "like" : "Once upon a time",
            "min_term_freq" : 1,
            "max_query_terms" : 12
        }
    }
  }
})

答案 1 :(得分:1)

如果您使用qs,则没有正文,只有查询。 您可以将查询转换为字符串并添加到url中,或者将选项与option = { url: 'your_url', qs: your_query }; request(option, (error,res)=>{}); 一起使用:

POST

如果要使用正文,则应使用{{1}}。

答案 2 :(得分:0)

嗨,您是否尝试过将身体作为第二个参数传递给您的请求?

request.get('yourEndpoint', { // your body })

答案 3 :(得分:0)

您不能在获取请求中添加正文,您必须为该请求添加查询字符串才能发送这些数据。