sub*_*odh 5 java api bytearray inputstream httpclient
我正在为服务的客户端设计API,该服务以字节流的形式检索数据.使用的优点是什么
InputStream getData(String param1, String param2);
Run Code Online (Sandbox Code Playgroud)
过度
byte[] getData(String param1, String param2);
Run Code Online (Sandbox Code Playgroud)
返回输入流的方法困扰我,因为
设计这个的最佳方法是什么?我甚至考虑过使用
void writeData(String param, String param, OutputStream os);
Run Code Online (Sandbox Code Playgroud)
但这使得方法名称不直观.
byte []有两个可能的缺点:
使用Stream可以解决这些问题.这取决于您返回的数据以及您希望用户使用它做什么.
我会返回类似 Guava 的东西InputSupplier<InputStream>
,它可以让您请求多个不同的输入流。
此外,Guava 提供了许多方法,这些方法采用InputSupplier<InputStream>
、 打开输入流、执行一些全流操作,然后关闭它,而不会让您记住关闭输入流或其他任何操作。
即使您不想直接使用 Guava,这也是一项很好的技术,可以让客户端程序决定如何处理它。
归档时间: |
|
查看次数: |
1992 次 |
最近记录: |