小编典典
这两种类型的spring GET方法有什么区别?
您发布的两个示例中只有一个是实际的 Spring GET,这就是第二个@RequestMapping(value = "/hello", method
= RequestMethod.GET)注释。它是Spring MVC的实现。
另外一个,第一个@GET @Path("/hello"),实际上是一个 JAX-RS
GET规范,您将需要一个实现了JAX-
RS,使其工作。
它们之间的主要区别不仅在于“
GET”,还在于整个框架。像这样的详细文章已经涵盖了JAX-RS和Spring MVC RESTful之间的差异。
由于REST不是正式的规范,因此它的实现可能会与其他提供商有所不同,但是概念是相同的。
首选方法是哪一种?
Spring MVC的RESTful将更紧密地集成到Spring框架中。
JAX-RS将遵循Java EE实施,并且该集成将使整个Java EE环境受益。
您还可以“合并” Spring和Java EE。有些连接器可以集成Spring和JAX-
RS,因此您可以从一个或另一个中受益。请参阅此示例。
因此,首选方法取决于。一般来说:
如果您在完整的Java EE容器中运行(如JBoss或Glassfish),请使用 JAX-RS 方法。JAX-RS的实现将在环境中可用。
如果您在Spring IoC中运行并且想与Java EE分离,请使用 Spring MVC RESTful 方法。
如果您正在使用Java EE Web Profile(例如Tomcat),则必须根据特定条件(例如将使用的接口框架)以及为此目的构建应用程序来决定。
我发现Spring在Tomcat中更易于配置和设置,但这是我的看法。也有spring异常处理@ControllerAdvice和@ExceptionHandler解决了我的REST风格的JSON什么我需要完美的处理,但也许有类似的东西了JAX-
RS也。
最后,我认为您应该主要根据要运行的环境来定义RESTful框架(JAX-RS,Spring或其他),同时还要考虑需要的所有集成和资源。您的项目。
2020-06-01