簡體   English   中英

Jersey,Tomcat:InjelliJ中請求的資源不可用錯誤

[英]Jersey, Tomcat: The requested resource is not available error in InjelliJ

我是Jersey的新手,並試圖將一個項目從Spring MVC轉換為Jersey。 但是,對於我當前的構建,所有請求都返回resource not available錯誤。 任何幫助將不勝感激。

我的依賴:

dependencies {
    compile('org.springframework.boot:spring-boot-starter')
    compile("org.springframework.boot:spring-boot-starter-data-jpa:1.4.0.RELEASE")
    compile("org.springframework.boot:spring-boot-starter-jersey")
    runtime('org.hsqldb:hsqldb')
    compileOnly("org.springframework.boot:spring-boot-starter-tomcat")
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

我的澤西配置

    @Configuration
public class JersyConfig extends ResourceConfig {

    public JersyConfig() {
        registerEndpoints();
        configureSwagger();
    }

    private void configureSwagger() {
        register(ApiListingResource.class);
        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion("1.0.0");
        beanConfig.setSchemes(new String[]{"http"});
        beanConfig.setHost("localhost:8090");
        beanConfig.setBasePath("/");
        beanConfig.setResourcePackage(OwnerController.class.getPackage().getName());
        beanConfig.setPrettyPrint(true);
        beanConfig.setScan(true);
    }

    private void registerEndpoints() {
        register(OwnerController.class);
    }

}


    @Api(value = "Owner controller", tags = {"Owner resource"})
public class OwnerController {

    private final ClinicService clinicService;

    @Autowired
    public OwnerController(ClinicService clinicService) {
        this.clinicService = clinicService;
    }

    @GET
    @Path("/{ownerId}")
    @Produces(MediaType.APPLICATION_JSON)
    @ApiOperation(value = "get owner by id", response = Owner.class)
    public Response getOwner(
            @ApiParam(name = "owner id", value = "owner id that must be fetched") @PathParam("ownerId") int id ) {
        Owner owner = clinicService.findOwnerById(id);
        return Response.status(200).entity(owner).build();
    }

    @GET
    @Path("/owners")
    @Produces(MediaType.APPLICATION_JSON)
    @ApiOperation(value = "get all owners", response = Owner.class, responseContainer = "List")
    public Response getOwners() {
        List<Owner> owner = (List<Owner>) clinicService.findAllOwners();
        return Response.status(200).entity(owner).build();
    }

}

使用JerseryConfig()構造函數中的packages()方法注冊包含jersey資源的包 -

public JersyConfig() {
    packages("PACKAGE_CONTAINING_JERSEY_RESOURCES");
    registerEndpoints();
    configureSwagger();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM