如何在spring-boot-starter-jersey支持的REST应用程序中使用javax.ws.rs.core.Applicaiton注册资源

时间:2017-11-11 11:03:29

标签: spring-boot jersey jax-rs

在我的春季启动应用程序中(由spring-boot-starter-jersey提供支持):

我可以像这样轻松地进行资源配置(jersey方式但不是jaxrs方式):

@Configuration
@ApplicationPath("/sample")
public class SampleResourceConfig extends ResourceConfig {

我只想尝试使用javax.ws.rs.core.Applicaiton:

    @Configuration
    @ApplicationPath("/sample")
    public class SampleResourceConfig extends javax.ws.rs.core.Applicaiton{

  public Set<Class<?>> getClasses() {
    Set<Class<?>> classes = new HashSet<Class<?>>();
    classes.add(SampleResource.class);
    return classes;
  }

但没有幸运,它不起作用。

我错过了什么吗?

由于

莱昂

1 个答案:

答案 0 :(得分:0)

它不会起作用,因为Spring Boot auto-configuration专门用于寻找bean of type ResourceConfig,而不是Application。如果您想使用Application,则无法使用自动配置。您需要自己创建JAX-RS servlet并使用Spring Boot ServletRegistratiobBean进行注册,类似于我在链接到的源代码中看到的内容。