2014-10-10 806 views
0

我有一个MultipartEntity声明如下:MultipartEntity已过时

MultipartEntity httpEnt = new MultipartEntity(); 
httpEnt.addPart("Test", new StringBody("test", ContentType.TEXT_PLAIN)); 

然后,我作出这样

HttpPost http = new HttPost(url); 
HttpClient httpClient = HttpClients.createDefault(); 
http.setEntity(httpEnt); 
httpClient.execute(http); 

的MultipartyEntity REST调用似乎过时,无法正常工作。我使用HttpEntity这样的考虑:

HttpEntity httpEnt = MultipartEntityBuilder.create().addPart("test", new StringBody(....)).build(); 

的问题,这是我想在不同的方法添加多个零件,然后以后的版本。看来,如果我这样做,我将需要立即附加所有部件,并构建在一行代码中。我仍然可以使用弃用的吗?更好的方法来做到这一点?

回答

0

看来,如果我这样做,我将需要一次连接所有部件并构建在一行代码中。

您不需要在一行上完成所有操作。调用MultipartEntityBuilder.create()返回一个构建器对象,您可以将它分配给一个变量,然后调用方法,一次一个,作为单独的语句。然后最后调用build()方法得到HttpEntity

(你不已经使用“流体”成语在你的代码,如果你不想。)

我还可以使用过时的呢?

是(可能)......但是转移到构建和表示多部分实体的新方法是一个好主意。在某些时候,弃用的API可能会被删除,并且这会导致您和/或人员将代码与其他事物整合或部署的版本依赖问题。

更好的方法来做到这一点?

是的。往上看。 (虽然 “更好”,在这种情况下意味着更多的自己的口味。)

相关(但不重复)提问:


1 - 与孙/甲骨文,Apache HTTP组件人通常在一段时间后删除不推荐使用的API。第三方库中的弃用警告忽略了您的风险...