![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=1738845090-lyeJu8JvF3Zx00WVlSx8AFDj2duleeZ0-0-c8eaba1e1345cc48c8b30444a5f47002)
然后在Service层的MeetElasticSearchService类中添加如下代码:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_101_3.jpg?sign=1738845090-9iV8RZYvK3kPUS6ymD4IKopSGpVlS2d2-0-1d9bec5ecb8259fb9198b7a4d77b248a)
接着在ServiceImpl实现层的MeetElasticSearchServiceImpl类中添加如下代码:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_101_4.jpg?sign=1738845090-qVDnpqA7au35YJiveevQXMx40hEYmG18-0-9df9876d7bc155287fd6a8831c58240a)
随后编译工程,在工程根目录下输入如下命令:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_2.jpg?sign=1738845090-ws0TEsR23YOrTAZ3bROzaDctE2V9jie9-0-354a428804c992ae2f8a994a6a6c89b6)
通过如下命令启动工程服务:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_3.jpg?sign=1738845090-6NV9uCH7OckjnTy2cKENHVezm63cXJaQ-0-bb419fd769df28b2b8a0628d0d8eb7db)
当工程服务启动后,在浏览器中调用如下接口查看Elasticsearch客户端的连接情况:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_4.jpg?sign=1738845090-JtfApM6oYrlHMsM8wc2yBGwWYmQB7XzB-0-7c929e5a09b0d4bd0356aa645bb52b5e)
在服务器控制台中打印responseBody的内容,如图4-2所示。
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_5.jpg?sign=1738845090-XkLxpiXHEJQZDm8XnkZca0KPaHNoFEnS-0-ca94f7668ebad77cf01a1c0a238d7767)
图4-2
在浏览器页面输出接口请求成功的内容,如下所示:
![](https://epubservercos.yuewen.com/A9D91A/16793577104229806/epubprivate/OEBPS/Images/38380_102_6.jpg?sign=1738845090-xgalvFGgRzqUkMCIdGJ6qXIL9FPTu1zf-0-c8ba031d03d10cd82eb6f15b59ec2e12)