![Elasticsearch实战与原理解析](https://wfqqreader-1252317822.image.myqcloud.com/cover/554/30918554/b_30918554.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.3 对请求结果的解析
4.2节介绍了客户端中请求对象的构建和请求方式,本节介绍对得到的响应结果Response的解析。
请求对象有两种请求方式,分别是同步请求和异步请求,因此对于请求的响应结果Response的解析也分为两种。
同步请求得到的响应对象是由performRequest方法返回的;而异步请求得到的响应对象是通过ResponseListener类下onSuccess(Response)方法中的参数接收的。响应对象中包装HTTP客户端返回的响应对象,并公开一些附加信息。
下面通过代码学习对请求结果的解析。以同步请求方式为例,对请求结果的解析代码如下所示。
示例代码共分为三层,分别是Controller层、Service层和ServiceImpl实现层。
首先,在Controller层的MeetElasticSearchController类中添加如下代码:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_101_2.jpg?sign=1734441539-RuE7HrWwY4YfEpln9Y59pBcce2NjzjBf-0-0497654492afda6401e73a5c75af94fc)
然后在Service层的MeetElasticSearchService类中添加如下代码:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_101_3.jpg?sign=1734441539-BFrfb46Xj9JLoTpyqXlUCGlB6vob3Nm3-0-651b20c6ccef713e414109d08fad5ffa)
接着在ServiceImpl实现层的MeetElasticSearchServiceImpl类中添加如下代码:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_101_4.jpg?sign=1734441539-nBR7O522NhVzCDwi5VhPnDwkzZOgCzEH-0-2328c5b88a77e0f1dc2101e85243ec46)
随后编译工程,在工程根目录下输入如下命令:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_2.jpg?sign=1734441539-RX8JDwxUKDfZX6693jvXEd5dOeBPQCKp-0-d014a9e8e9d2d1699c508bcf5256e369)
通过如下命令启动工程服务:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_3.jpg?sign=1734441539-RJ56NRuNf8GVON2PntVbYlU497ivsdl3-0-7f3896e4a43204ec3cf344adeb2f661b)
当工程服务启动后,在浏览器中调用如下接口查看Elasticsearch客户端的连接情况:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_4.jpg?sign=1734441539-h7gdffvJmuakgJvksU9Z7OAuBUXWibtV-0-9fbf9b4523b145b98afcb32fa22d3637)
在服务器控制台中打印responseBody的内容,如图4-2所示。
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_5.jpg?sign=1734441539-SoBYGXp5aqH30SpXhFvfaMjmTpd2GdMO-0-dd1c479300c799d9503af881596514ad)
图4-2
在浏览器页面输出接口请求成功的内容,如下所示:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_6.jpg?sign=1734441539-QOIcdYJbqaSxRJGe6PQEBWLLY25e5r6k-0-3413484ea346ab825f97ffb5f3d97b3c)