解释将ByteArrayRequestEntity转换为HttpEntity



我需要通过setEntity(…)方法将ByteArrayRequestEntity设置为HttpPost对象上的实体,该方法期望HttpEntity作为参数。通过Netbeans提示,我将ByteArrayRequestEntity转换为HttpEntity,但我不确定为什么这是允许的。HttpEntity是一个接口,我不确定ByteArrayRequestEntity实现了该接口的所有方法(或者如果它需要)。有人能澄清一下这是允许的铸造吗?

你不能将ByteArrayRequestEntity转换为HttpEntity,但你应该能够从它创建一个:

new ByteArrayRequestEntity(yourEntity.getContent())

真正的问题是你混合了库。ByteArrayRequestEntity来自过时的HttpClient 3。而HttpEntity来自新的HttpComponents库,所以它们不直接兼容。如果可能的话,你应该把所有东西都切换到HttpComponents。

做些调查总无妨,对吧?

根据Apache HTTP组件文档,ByteArrayRequestEntity实现了RequestEntity接口,而不是HttpEntity

相关内容

  • 没有找到相关文章

最新更新