我正在为一项服务的客户设计API,该服务以字节流的形式检索数据。使用HTML标记的优点是什么?
InputStream getData(String param1, String param2);
结束
byte[] getData(String param1, String param2);
返回结果:
返回输入流的方法让我困扰,因为:
- 现在我的代码必须依赖外部代码来关闭输入流。我知道最佳做法是仅关闭您打开的那些资源,所以这似乎是错误的。
- 输入流不可重复。一旦我的代码的客户端读取了流,字节就会丢失。
- 我的实现中的流实际上位于网络上(套接字)。虽然我正在使用连接池并监视它以摆脱过期的连接等,但我觉得能够自己关闭打开的资源可能更好。
如何设计最好? 我甚至考虑使用
void writeData(String param, String param, OutputStream os);
但是这使得方法名不够直观。