我需要通过setEntity(...)将ByteArrayRequestEntity设置为HttpPost对象上的实体方法,该方法需要HttpEntity作为参数。通过Netbeans提示,我将ByteArrayRequestEntity转换为HttpEntity,但我不确定为什么允许这样做。HttpEntity是一个接口,我不确定ByteArrayRequestEntity是否实现了该接口的所有方法(或者是否需要实现)。有没有人能澄清一下这是一个允许的角色?
发布于 2014-08-19 23:51:51
您不能将ByteArrayRequestEntity转换为HttpEntity,但您应该能够从它创建一个:
new ByteArrayRequestEntity(yourEntity.getContent())真正的问题是你在混和库。ByteArrayRequestEntity来自过时的HttpClient 3.x library,而HttpEntity来自新的HttpComponents library,因此它们不能直接兼容。如果可能,您应该将所有内容都切换到HttpComponents。
发布于 2014-08-19 22:53:17
做些调查也无伤大雅,对吧?
根据Apache HTTP Components文档,ByteArrayRequestEntity实现接口RequestEntity,而不是HttpEntity
https://stackoverflow.com/questions/25386502
复制相似问题