java - 创建 RESTEasy 端点时如何限制大型正文请求?

标签 java resteasy large-data

我正在创建 RESTEasy 端点,我的请求应该是非常小的 JSON 格式,例如

    {"id":"A1S2D3F4G5H6J7"}

RESTEasy中有没有办法限制客户端发送的信息量?我想阻止客户端发送 1GB 数据并中断我的服务。有什么想法吗?

最佳答案

这最好由网络服务器或应用程序服务器处理,而不是直接由应用程序代码处理。例如,假设您的应用程序服务器位于 Apache 后面。 Apache 通过 AJP 将请求代理到应用程序服务器。然后您可以设置 Apache 的 LimitRequestBody将配置属性设置为小于 1GB 的合理值,并防止这些大请求到达您的应用程序。

来自 Apache 文档:

The LimitRequestBody directive allows the user to set a limit on the allowed size of an HTTP request message body within the context in which the directive is given (server, per-directory, per-file or per-location). If the client request exceeds that limit, the server will return an error response instead of servicing the request.

我假设所有其他主要 Web 服务器和应用程序容器都有处理这种情况的配置设置。

关于java - 创建 RESTEasy 端点时如何限制大型正文请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20207786/

相关文章:

java - preProcess 和 postProcess 之间的 resteasy 拦截器线程安全吗?

android - 在部分中找不到 Content-Disposition header

java - 将零填充到一位数以形成分钟格式

java - Spring RestController 产生 charset=UTF-8

java - 按顺序单击多个按钮,robotium 不起作用

json - Jackson - 序列化时忽略 Map 父类(super class)

c# - 用于处理大数据量(100 万条记录等)的数据结构和技术

r - ddply 在 R 中拆分大量类别的问题

python - 在循环中向 pandas 数据帧添加滚动平均值需要很长时间

java - 将额外参数传递给 jQuery 数据表的 Java Controller