gpt4 book ai didi

spring - Jersey REST API 作为一个单独的网络应用程序

转载 作者:行者123 更新时间:2023-12-02 02:17:49 24 4
gpt4 key购买 nike

快速设计问题:是否为 REST API 使用单独的 Web 应用程序更好。

我目前有一个 Jersey REST API,可以很好地用于机器对机器的通信。仅使用 GETS 相对简单。该结构由 Jersey REST APi 前端、数据库存储的 dao 和用于拦截 url 等的 spring security 组成。这很好用。

但是,我现在需要创建一个 Web 应用程序,以允许现有用户登录和监控其 API 的使用、注册用户帐户、重置其凭据并更改其订阅等(以及更多)。

我想知道我是否应该将两者结合起来并共享同一个 WAR 文件,因为它们都使用相同的后端数据库等。但是,一个是有状态的,另一个是无状态的 REST API,每个请求都需要身份验证。 ..

所以我采用的方法是将有状态的 webapp 视为 REST API 的客户端并执行以下操作:

1) 将 REST API 视为单独的网络应用。

2) 将有状态网络应用程序创建为单独的网络应用程序,并使用 spring mvc 或其他任何前端。两者的持久性后端存储是相同的。还将有一个管理组件,由基于 spring 角色的安全性管理。

对于第二个 web 应用程序,我将允许用户对 REST API 进行示例调用(第一次 war 只需单击链接并使用他们的登录凭据)。

这种做法看起来合理吗?也就是说,一个用于 REST API 的 WAR,一个用于有状态 Web 应用程序的单独 WAR。

如果有更多 REST 经验的人提出任何意见,我将不胜感激。

最佳答案

不管其他情况如何,将 REST API 作为一个单独的应用程序是一个很好的方法。您应该有一个包含业务逻辑的通用 jar,您可以将其包含在所有项目中。这样,您就可以在 API 和其他 Web 项目中调用业务方法,而不会出现任何重复。

关于spring - Jersey REST API 作为一个单独的网络应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9647951/

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