Spring REST API 适用于 Web 和移动客户端
Spring REST API for web- and mobile-clients
这是我在 Whosebug 上的第一个问题,希望有人能帮助我。 :-)
我打算用 spring roo 构建一个网络应用程序(后端)。对于后端,我将使用 Spring 和 Hibernate/JPA。以后我会实现一个网络客户端(JSF/Primefaces),一个移动客户端(Android)和一个Windows App。
使用 spring roo,可以轻松创建包含域 类、存储库和服务的分层架构。这部分很有趣。
但现在我正在考虑远程处理以及如何将所有客户端(网络、移动、windows)与我的后端连接起来。
1.) 对于客户端和后端之间的远程处理,您更喜欢什么? SOAP-Web 服务或 REST-API(例如 JSON)。
2.) 如果 REST-API:API 应该如何实现 authentication/login 功能? REST 是面向资源的,但是如何使用 REST 实现身份验证 API?
目前我认为 REST-API 是个好主意。因为我使用的是 spring,所以很容易创建一个 Spring 支持 REST 的 MVC 控制器。但这是为所有三个设备实现 REST API 的正确方法吗?网络客户端,例如应该用 JSF 和 Primefaces 来实现,我不使用 spring MVC 作为 web 层。
3.)我仍然可以使用 Spring MVC 控制器来构建 REST API(连同 Web 层中的 JSF)吗?或者有更好的方法吗?
1.) 对于客户端和后端之间的远程处理,您更喜欢什么? SOAP-Web 服务或 REST-API(例如 JSON)。
我对 SOAP-WS 没有太多经验,但我对 REST-API 使用 JSON 有很多经验。有许多用于移动、Web 和服务器端客户端的实现,它们实现起来相当简单。
2.) 如果 REST-API:API 应该如何实现 authentication/login 功能? REST 是面向资源的,但是如何使用 REST 实现身份验证 API?
如果您已经在使用 spring,我建议使用 Spring 安全措施保护您的 API。即使您最终没有为 API 实施使用 Spring MVC,您也可以使用 spring 安全性。有很多方法可以通过 spring 安全性来确保休息 API,但我最简单的方法是将基本身份验证 header 与每个请求一起发送到安全 URI
3.)我仍然可以使用 Spring MVC 控制器来构建 REST API(连同 Web 层中的 JSF)吗?或者有更好的方法吗?
Spring MVC 控制器可以正常工作,但我建议使用 RestEasy 或 Jersey。我发现它们更灵活。
我同意@mad_fox。此外,我想添加另一个关于您的问题 #2 的选项。如果您不想使用 Spring 安全性,您可以使用 spring 和基本 java 拦截器编写自己的基于令牌的身份验证机制。
您可以将令牌存储在浏览器本地存储中。
这是我在 Whosebug 上的第一个问题,希望有人能帮助我。 :-)
我打算用 spring roo 构建一个网络应用程序(后端)。对于后端,我将使用 Spring 和 Hibernate/JPA。以后我会实现一个网络客户端(JSF/Primefaces),一个移动客户端(Android)和一个Windows App。 使用 spring roo,可以轻松创建包含域 类、存储库和服务的分层架构。这部分很有趣。
但现在我正在考虑远程处理以及如何将所有客户端(网络、移动、windows)与我的后端连接起来。
1.) 对于客户端和后端之间的远程处理,您更喜欢什么? SOAP-Web 服务或 REST-API(例如 JSON)。
2.) 如果 REST-API:API 应该如何实现 authentication/login 功能? REST 是面向资源的,但是如何使用 REST 实现身份验证 API?
目前我认为 REST-API 是个好主意。因为我使用的是 spring,所以很容易创建一个 Spring 支持 REST 的 MVC 控制器。但这是为所有三个设备实现 REST API 的正确方法吗?网络客户端,例如应该用 JSF 和 Primefaces 来实现,我不使用 spring MVC 作为 web 层。
3.)我仍然可以使用 Spring MVC 控制器来构建 REST API(连同 Web 层中的 JSF)吗?或者有更好的方法吗?
1.) 对于客户端和后端之间的远程处理,您更喜欢什么? SOAP-Web 服务或 REST-API(例如 JSON)。
我对 SOAP-WS 没有太多经验,但我对 REST-API 使用 JSON 有很多经验。有许多用于移动、Web 和服务器端客户端的实现,它们实现起来相当简单。
2.) 如果 REST-API:API 应该如何实现 authentication/login 功能? REST 是面向资源的,但是如何使用 REST 实现身份验证 API?
如果您已经在使用 spring,我建议使用 Spring 安全措施保护您的 API。即使您最终没有为 API 实施使用 Spring MVC,您也可以使用 spring 安全性。有很多方法可以通过 spring 安全性来确保休息 API,但我最简单的方法是将基本身份验证 header 与每个请求一起发送到安全 URI
3.)我仍然可以使用 Spring MVC 控制器来构建 REST API(连同 Web 层中的 JSF)吗?或者有更好的方法吗?
Spring MVC 控制器可以正常工作,但我建议使用 RestEasy 或 Jersey。我发现它们更灵活。
我同意@mad_fox。此外,我想添加另一个关于您的问题 #2 的选项。如果您不想使用 Spring 安全性,您可以使用 spring 和基本 java 拦截器编写自己的基于令牌的身份验证机制。 您可以将令牌存储在浏览器本地存储中。