使用 JERSEY 和 Spring Boot 创建 Rest 服务

Jersey 是可用于创建 Rest 服务的众多框架之一,此示例将向你展示如何使用 Jersey 和 Spring Boot 创建 Rest 服务

1.项目设置

你可以使用 STS 或使用 Spring Initializr 页面创建新项目。在创建项目时,请包含以下依赖项:

  1. 泽西岛(JAX-RS)
  2. 卷筒纸

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 服务