【发布时间】:2016-11-22 12:43:19
【问题描述】:
我是 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();
}
}
【问题讨论】:
-
您应该在 JerseyConfig() 构造函数中使用 packages() 方法注册包含球衣资源的包
-
谢谢,成功了。
-
好的,我会写这个作为答案。请接受。
标签: java spring-boot jersey-2.0