GET请求的Spring批注
这两种类型的spring GET方法有什么区别?首选方法是哪一种?
@Component@Scope("request")
@Path("/")
public class TestComponent {
@GET
@Path("/hello")
public String printHello() {
return "hello";
}
}
与
@Controllerpublic class TestController {
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String printHello() {
return "hello"
}
}
回答:
您发布的两个示例中只有一个是实际的 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的实现将在环境中可用。
- 如果您在Spring IoC中运行并且想与Java EE分离,请使用 方法。
- 如果您正在使用Java EE Web Profile(例如Tomcat),则必须根据特定条件(例如将使用的接口框架)以及为此目的构建应用程序来决定。
我发现Spring在Tomcat中更易于配置和设置,但这是我的看法。也有spring异常处理@ControllerAdvice
和@ExceptionHandler
解决了我的REST风格的JSON什么我需要完美的处理,但也许有类似的东西了JAX-
RS也。
最后,我认为您应该主要根据要运行的环境来定义RESTful框架(JAX-RS,Spring或其他),同时还要考虑需要的所有集成和资源。您的项目。
以上是 GET请求的Spring批注 的全部内容, 来源链接: utcz.com/qa/400988.html