如何使用REST请求主体方法执行ElasticSearch并获取返回的json格式/漂亮?

松鼠

在通过REST Request Body方法发出搜索请求时,例如

GET /bank/_search
{
  "query": { "match_all": {} },
  "sort": [
    { "account_number": "asc" }
  ]
}

是否可以在任何地方添加参数以请求将返回的响应正文的json格式化/漂亮?

使用的相同搜索REST Request URI可以做到这一点,例如

GET /bank/_search?q=*&sort=account_number:asc&pretty

如何实现相同的使用REST request body

使用ElasticSearch.NET的低级api,无法控制REST调用,只能提供POST json。

var esClient = new ElasticLowLevelClient(_connectionSettings);
//postDataJson is the json depicted in the question's body
var postData = PostData.String(postDataJson); 
var response = esClient.Search<StringResponse>("myIndex", postData);

一个可以发送第三个参数,一个SearchRequestParameters对象,我在那里找不到任何属性。

在此处输入图片说明

绿色

您需要pretty=true
像这样添加到您的请求中:

GET /bank/_search?q=*&sort=account_number:asc&pretty=true

有关更多参考,请点击此处

编辑

我一开始不了解您,应该在请求的标题中。
像这样尝试:

GET /bank/_search?pretty=true
{
  "query": { "match_all": {} },
  "sort": [
    { "account_number": "asc" }
  ]
}

编辑2

如果您使用的是elstic.NET,并且还想获得漂亮的Jason。
您需要在连接中进行配置这是您应该使用的方法(在类中ConnectionConfiguration : ConnectionConfiguration<ConnectionConfiguration>)

    /// <summary>
    /// Forces all requests to have ?pretty=true querystring parameter appended,
    /// causing Elasticsearch to return formatted JSON.
    /// Also forces the client to send out formatted JSON. Defaults to <c>false</c>
    /// </summary>
    public T PrettyJson(bool b = true) => Assign(a =>
    {
        this._prettyJson = b;
        const string key = "pretty";
        if (!b && this._queryString[key] != null) this._queryString.Remove(key);
        else if (b && this._queryString[key] == null)
            this.GlobalQueryStringParameters(new NameValueCollection { { key, "true" } });
    });

在这里您可以看到git

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

jQuery使用JSON主体获取对REST API的请求

如何以json格式构建请求的主体

方法执行后如何返回类型

如何从Go上的请求主体获取JSON

如何使用POST方法执行findAllBy()?

如何使用 PATCH HTTP 方法从请求对象获取 JSON 格式的表单内容?

在使用replace()方法执行FragmentTransaction之后,findFragmentByTag()返回null

如何使用 .Net 以漂亮的格式编写 JSON 文件

如何使用Javassist获取方法主体?

如何使用linq扩展方法执行左外部联接

如何使用Nginx和Lua处理POST请求的JSON主体?

如何在SprayTest中使用JSON主体模拟POST请求?

如何从请求返回HttpClient响应主体?

如何获取 POST 请求 JSON 然后使用 Node.js 更改 JSON 格式?

请求获取方法如何使用

如何使用Jersey REST客户端发送以JSON格式包含dom元素的请求

使用ReadableStream作为请求主体获取

如何使用节点js从https get请求中获取请求主体

如何使用“获取请求”从URL获取JSON?

使用NEST / Elasticsearch.Net执行原始JSON请求

如何从 GET 请求中获取 JSON 数据(主体应用程序/json)?

如何使用Java将漂亮格式的json文件转换为简单的单行json文件?

如何将无效的JSON请求主体中的错误描述返回给Rust中的客户端?

使用 Django rest 框架获取请求不返回数据

使用spawn node.js方法执行bash脚本会返回错误

Elasticsearch GET请求与请求主体

使用volatile跳过方法执行

使用从MongoDB JSON对象获取“漂亮”数据

无法使用JSON主体复制POST请求