gpt4 book ai didi

java - 是否可以转发更改请求方法的请求?

转载 作者:行者123 更新时间:2023-11-30 11:56:21 24 4
gpt4 key购买 nike

我在一个网关上工作,它只允许 GET 请求,而它背后的 REST 端点能够接受范围广泛的方法(POST、PUT、DELETE、OPTIONS)。因此,我试图将请求方法作为参数传递,具有一个过滤器,它使用正确的方法转发请求。从我在规范中看到的,它只允许转发没有任何修改的请求:

request.getRequestDispatcher(route).forward(request, response)

有什么解决方法吗?

注意:重定向对我来说不是一个选项。

最佳答案

如果您有一个单独的 Rest servlet 来处理 restful 服务(通常是这种情况),您可以扩展它并覆盖 service 方法。在那里你可以根据你想要的参数调用 doPost(..), doPut(..) 等。 HttpServlet 的默认实现使用 request.getMethod()

您可以做的另一件事(不太可取)是让您的过滤器使用 URL.openConnection(或 apache commons http 组件)向端点发出新请求,并流式传输该结果内部请求返回给客户端。您可以在那里指定请求方法。

无论如何,我认为您应该尝试克服网关的限制,因为它会让您陷入非常尴尬的境地。

关于java - 是否可以转发更改请求方法的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4545021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com