![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=1739139485-Edg4JYWIJsz5eSjrxifcvaUaciCKveEf-0-a98bfa2535efee279d482f0720461ef1)
然后在Service层的MeetElasticSearchService类中添加如下代码:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_101_3.jpg?sign=1739139485-fbqCWCXbAMZOV2NItKvn9ZrodWpG61Ku-0-bcbc23ac94f81f596e06d4d16dc62cba)
接着在ServiceImpl实现层的MeetElasticSearchServiceImpl类中添加如下代码:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_101_4.jpg?sign=1739139485-HOWHC6GJFLX9idNvmGof5zfzRlAocajv-0-6d80a7a0339b47a084c865129fa58140)
随后编译工程,在工程根目录下输入如下命令:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_2.jpg?sign=1739139485-4RleSPvWL2MqkeRc8sU8tNd7lzmrLGqV-0-bc0ec49a7c83bce63622f0a780b0fd1f)
通过如下命令启动工程服务:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_3.jpg?sign=1739139485-JvQurzgHmpdKngpWyUFj1UAb4NVA0JjT-0-90971557fca747af34d0be4dbc608ddc)
当工程服务启动后,在浏览器中调用如下接口查看Elasticsearch客户端的连接情况:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_4.jpg?sign=1739139485-w1MkLInHkzBLkIkl9Kj8KSkIns9lh5B3-0-c4caed995150b32907b3d613d4309fc9)
在服务器控制台中打印responseBody的内容,如图4-2所示。
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_5.jpg?sign=1739139485-2cMmXOkCUcqilzdn35lmqm1kRmNm09p3-0-62619865ba8c899fccd5a999738cb4da)
图4-2
在浏览器页面输出接口请求成功的内容,如下所示:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_6.jpg?sign=1739139485-99J7RPY4H4ydiZ0ylshk2z9Ya7rIB44D-0-887b47249d3626b6371657a49247e06c)