首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >REST响应-通过readEntity(String.class)记录有效负载失败

REST响应-通过readEntity(String.class)记录有效负载失败
EN

Stack Overflow用户
提问于 2016-10-27 08:30:39
回答 1查看 392关注 0票数 0

考虑一下在Jersey 2.22.2下运行的REST代理的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@POST
@Produces(MediaType.APPLICATION_JSON)
@Path("/foo")
public Response foo(String request) {

    logger.info("Request to /foo :\n" + request);

    WebTarget target = ClientBuilder.newClient().target(esbWsUrl).path("/foo");
    Response response = target.request(MediaType.APPLICATION_JSON_TYPE).post(Entity.entity(request, MediaType.APPLICATION_JSON_TYPE));

    // problem is in the 2 lines below
    logger.info("Buffered: " + response.bufferEntity());
    logger.info("Response from /foo :\n" + response.readEntity(String.class));

    return response;
}

首先,我在没有response.bufferedEntity()的情况下尝试了一下,得到了IllegalStateException,因为response.readEntity(String.class)是从Response中的底层流中消费的。

当我使用response.bufferEntity()时,我能够多次调用response.readEntity(String.class) (缓冲似乎起作用了),但是Jersey返回的响应给出了一个零字节的响应。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -m 5 -i -X POST -d '{"input_values": "abc"}' http://localhost:9000/services/rest/foo
HTTP/1.1 200 OK
Date: Thu, 27 Oct 2016 08:18:09 GMT
Keep-Alive: timeout=20
X-Type: default
Server: nginx
Content-Type: application/json; charset=UTF-8
Content-Length: 364

curl: (28) Operation timed out after 5000 milliseconds with 0 out of 364 bytes received

这里有一些相关的文档:Response.readEntity

谁能告诉我如何在返回一个有效的Response之前记录Response的内容?

也许有一些我没有想到的流处理问题,或者可能是另一种将Response实体转换为字符串(而不消耗流)的方法。

EN

回答 1

Stack Overflow用户

发布于 2016-11-07 13:12:37

我最终基于前一个的状态代码和实体创建了一个全新的Response

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40279775

复制
相关文章
restful接口定义_主板上的spi接口接什么
由于在实际项目中碰到的restful服务,参数都以json为准。这里我获取的接口和传入的参数都是json字符串类型。发布restful服务可参照文章http://www.cnblogs.com/jave1ove/p/7277861.html,以下接口调用基于此服务。
全栈程序员站长
2022/09/20
4190
通过 Drone Rest API 获取构建记录日志
Drone是一款CICD工具,提供rest API,简单介绍下如何使用API 获取构建日志。
JadePeng
2020/02/18
1.2K0
不用找了,10分钟帮你搞定 feign+spring cloud!看完秒懂
转载自:https://www.cnblogs.com/roytian/p/12196790.html
用户5224393
2020/03/13
8650
发现和记录 REST API
/api/mgmnt 服务包括可用于发现 REST 服务类和启用 REST 的 Web 应用程序的调用。
用户7741497
2022/08/05
7200
Metasploit-有效负载备忘单
对于所有shellcode,请参阅“ msfvenom –h”以获取有关有效参数的信息。Msfvenom将输出能够以这种语言剪切和粘贴的代码,来供利用。
Gamma实验室
2020/12/23
6800
Metasploit-有效负载备忘单
Wordpess REST API 错误排查记录
在WP Statistics数据总览中,出现警告提示,但WP Statistics功能正常。
sean.liu
2022/09/29
2.3K0
Wordpess REST API 错误排查记录
Go-RESTful-处理请求和响应(一)
Go-RESTful 是一种流行的 Web 服务框架,它允许开发人员使用 REST(Representational State Transfer)架构风格构建 API。在 Go-RESTful 中,请求和响应是非常重要的概念。请求是客户端发送给服务器的数据,而响应是服务器返回给客户端的数据。
堕落飞鸟
2023/04/25
9270
记录mybatis分页查询失败[通俗易懂]
在进行mybatis的分页查询时出现ExceptionInIntializerError错误
全栈程序员站长
2022/09/05
9260
记录mybatis分页查询失败[通俗易懂]
使用 Jersey 调用 Restful 服务
第 20 章 Jersey - RESTful Web Services in Java. 目录 20.1. Client 20.1.1. Maven 版本 20.1.2. GET 操作 20.1.3. GET + Auth 用户认证 https://jersey.java.net/ 20.1. Client 20.1.1. Maven 版本 1.x <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-client --> <d
netkiller old
2018/03/05
1.6K0
[已解决]wordpress网站发布失败:此响应不是合法的JSON响应
前两天,用WordPress搭建这个博客(https://wpthemes.pythonthree.com),服务器是阿里云香港服务器,使用宝塔控制面板,但是,当进去Wordpress后台发表文章的时候,出现了如下报错: WordPress 发布失败。错误信息:此响应不是合法的JSON响应。
晓得博客
2021/01/05
11.7K1
spring 使用ResponseBodyAdvice处理响应负载
spring中,使用@ResponseBody注解controller方法,或者返回ResponseEntity对象,返回的数据将通过HttpMessageConverter转换后写入响应的body区域
路过君
2021/10/15
1.1K0
SpringCloud(三)-应用间通信(慕课网廖师兄SpringCloud微服务实战)
1. RestTemplate直连消费服务 核心依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--HttpClient--> <dependency> <groupId>org.ap
Meet相识
2018/09/12
1.8K0
SpringCloud(三)-应用间通信(慕课网廖师兄SpringCloud微服务实战)
实战:Redis高负载排查记录
随着互联网业务的发展,面对逐渐增长的数据量和并发访问量,我们常常需要使用Redis等内存数据库来解决高并发请求问题。然而,在某些情况下,我们可能会遭遇Redis高负载的问题,这时就需要进行相应的排查和解决。
网络技术联盟站
2023/06/06
1.1K0
[Linux] nginx记录多种响应时间
官网介绍 $request_time – Full request time, starting when NGINX reads the first byte from the client and ending when NGINX sends the last byte of the response body $upstream_connect_time – Time spent establishing a connection with an upstream server $upstream_header_time – Time between establishing a connection to an upstream server and receiving the first byte of the response header $upstream_response_time – Time between establishing a connection to an upstream server and receiving the last byte of the response body
唯一Chat
2019/12/10
3.8K0
通过Session记录数据
在做到一个页面的时候,我需要做到的一个功能就是通过点击子页面的表格行数据然后把数据赋给主页面的表格里,但主页面这个表格里的数据并不是保存到数据库,而是要通过点击一个保存按钮才将主页面的数据保存到数据库里,意思就是说一开始只是将数据库存放在页面上,供用户们看。所以,一开始的时候就不能通过直接保存到数据库中,这个时候就可以需要用到session来记录一下数据了。
PHY_68
2020/09/16
4380
springcloud系列之-ribbon使用及原理讲解
本章节将要学习springcloud的组件ribbon的使用,ribbon是一个实现了客户端负载均衡的工具,透明的实现了负载均衡策略,我们只需要在resttemplate加上loadbalenced注解就可以开启负载均衡,非常方便,学完这节后,你将会知道如何在你的项目上去使用这个小工具
AI码师
2020/11/19
7580
springcloud系列之-ribbon使用及原理讲解
通过SpringMVC框架响应JSON数据
在SpringMVC框架(含SpringBoot框架)中,当处理请求的方法之前添加了@ResponseBody后,或在控制器类之前使用的是@RestController,处理请求的方法的返回值将作为响应到客户端的数据。
海拥
2021/08/23
1.2K0
SpringCloud服务间通信方式
接下来在整个微服务架构中,我们比较关心的就是服务间的服务改如何调用,有哪些调用方式? 总结:在springcloud中服务间调用方式主要是使用 http restful方式进行服务间调用 1. 1基于
用户4283147
2022/10/27
4580
SpringCloud服务间通信方式
面试题110:什么是Ribbon?它的作用是什么?
【什么是Ribbon】 Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现,通过Spring Cloud的封装,可以让我们轻松地将面向服务的Rest模板请求自动转换成客户端负载均衡的服务调用。 Ribbon只具有负载均衡的能力,并不具有发送请求的能力。所以,需要配合服务通信组件,如:RestTemplate ---- 【Ribbon在微服务中扮演的角色】 Ribbon实现了从注册中心中获取服务列表的能力。 然后通过获取到的服务列表
爪哇缪斯
2023/05/10
6340
面试题110:什么是Ribbon?它的作用是什么?
如果webserver云服务器配置低、并发差,挂在负载均衡后面能有效降低并发失败率
在带宽有限的情况下,跑压测能压出并发。服务器出带宽是有限的,压测触及带宽上限跟算力并无直接关系,本文仅仅涉及算力层面的并发探讨,不涉及带宽层面。
Windows技术交流
2023/01/18
1.1K0

相似问题

Response.readEntity(String.class)无法读取响应

155

Spring REST异常-获取响应有效负载

10

快速REST在解析有效负载时失败?

24

压缩Django REST中的响应有效负载?

34

SOAP:记录有效负载请求和响应xml

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文