将内存错误抛回客户端是一种很好的做法

时间:2017-02-27 04:18:40

标签: java exception-handling throttling

我在HTML5和angular JS中开发了一个UI,它使用Java开发的REST端点进行web服务调用,

由于我们的REST端点正在接受文件,因此我们限制了文件请求,以便仅接受来自客户端的给定量的文件请求。

现在,如果达到阈值,我的问题是将错误返回给客户端说“达到内存阈值”回到客户端或者我将一些通用错误发送回客户端是一个很好的设计,因为此终点的消费者是其他消费者以及来自不同客户的消费者

1 个答案:

答案 0 :(得分:0)

我们目前在我们的应用程序中处理此问题的方式是在进行REST调用之前,首先对文件进行客户端检查。如果选择的文件超过了API可以容忍的阈值大小,那么我们会在此处给出相应的错误消息。

通过这种检查,可以上传文件太大而无法上传的唯一方法是,如果给定用户以某种方式破解用户界面,或者有人使用的是非常旧的或不支持的浏览器。这两种情况都可能是罕见的情况,因此任何声明REST调用失败的通用错误消息都应该足够了。

以下是涵盖HTML 5文件API的教程的链接:https://www.html5rocks.com/en/tutorials/file/dndfiles/

可以直接在JavaScript代码中捕获本地文件的大小。然后,此信息可用于显示消息,阻止上载等,具体取决于您希望如何处理大小。请注意,您无法在计算机上获取文件的本地路径,因为这将是一个安全问题。