gpt4 book ai didi

java - 如何实现 REST 外观?

转载 作者:行者123 更新时间:2023-12-01 12:37:55 28 4
gpt4 key购买 nike

我需要创建一个外观,将请求转发到其他 Web 服务。

除了转发之外,外观只会对用户进行身份验证/授权。

实现这个的好方法是什么?

我曾经使用 Jersey,也许有比手动创建 WebTarget 更好的方法?

最佳答案

您正在寻找的称为反向代理。除非你有一个非常令人信服的理由这样做,否则我不会从头开始写任何东西。这是一个非常常见的要求,有许多现有的(且经过充分测试的)解决方案可供选择。

两者Apache httpd Nginx 提供了此功能。使用 Apache,您可以将 mod_proxy 与身份验证模块结合起来,例如 mod_authz_ldap确保请求在传递到后端服务器之前经过身份验证。我对 Nginx 不太熟悉,但我确信它支持类似的东西。

许多商业负载均衡器also support reverse proxies with authentication .

如果您没有负载均衡器,无法在应用程序前面放置 Web 服务器,或者出于政策原因需要使用 Java,则可以直接使用开源 Java 实现或延长。例如,HTTP-Proxy-Servlet .

如果您想走仅限 Java 的道路,我的建议是将现有的代理 servlet 与现成的 servlet Filter 结合起来。处理身份验证。也许像 Spring Security 。如果您碰巧使用 Tomcat,它可以为您处理身份验证部分 using a valve 。其他应用程序服务器可能具有类似的功能。

关于java - 如何实现 REST 外观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25405399/

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