使用 JERSEY 和 Spring Boot 创建 Rest 服务
Jersey 是可用于创建 Rest 服务的众多框架之一,此示例将向你展示如何使用 Jersey 和 Spring Boot 创建 Rest 服务
1.项目设置
你可以使用 STS 或使用 Spring Initializr 页面创建新项目。在创建项目时,请包含以下依赖项:
- 泽西岛(JAX-RS)
- 卷筒纸
2.创建一个控制器
让我们为 Jersey Web Service 创建一个控制器
@Path("/Welcome")
@Component
public class MyController {
@GET
public String welcomeUser(@QueryParam("user") String user){
return "Welcome "+user;
}
}
@Path("/Welcome")
annotation 向框架指示此控制器应响应 URI 路径/ Welcome
@QueryParam("user")
annotation 向框架指示我们期望一个名为 user
的查询参数
3.Wiring Jersey 配置
现在让我们使用 Spring Boot 配置 Jersey Framework:创建一个类,而不是一个扩展 org.glassfish.jersey.server.ResourceConfig
的 spring 组件:
@Component
@ApplicationPath("/MyRestService")
public class JerseyConfig extends ResourceConfig {
/**
* Register all the Controller classes in this method
* to be available for jersey framework
*/
public JerseyConfig() {
register(MyController.class);
}
}
@ApplicationPath("/MyRestService")
向框架表明,只有指向路径/MyRestService
的请求才能由 jersey 框架处理,其他请求仍应继续由 spring 框架处理。
使用 @ApplicationPath
注释配置类是个好主意,否则所有请求都将由 Jersey 处理,我们将无法绕过它并让 spring 控制器在需要时处理它。
4.Done
启动应用程序并触发一个示例 URL,例如(假设你已将 spring boot 配置为在端口 8080 上运行):
http://localhost:8080/MyRestService/Welcome?user=User
你应该在浏览器中看到如下消息:
欢迎用户
你已经完成了使用 Spring Boot 的 Jersey Web 服务