使用JdkHttpServerFactory配置Swagger UI + Jersey 2
JdkHttpServerFactory是一个用于配置和启动Java HTTP服务器的工具类。Swagger UI是一个用于可视化和交互式地展示API文档的工具。Jersey 2是一个用于构建RESTful Web服务的框架。
首先,我们需要导入JdkHttpServerFactory、Swagger UI和Jersey 2的相关依赖包,并添加到项目中。接下来,我们可以按照以下步骤配置Swagger UI + Jersey 2:
import io.swagger.jaxrs.config.BeanConfig;
import org.glassfish.jersey.server.ResourceConfig;
public class MyApplication extends ResourceConfig {
public MyApplication() {
// 注册我们的资源类
packages("com.example.resources");
// 配置Swagger
configureSwagger();
}
private void configureSwagger() {
// 设置Swagger扫描的包路径
String resourcePackage = "com.example.resources";
packages(resourcePackage);
// 设置Swagger UI的访问路径
String swaggerPath = "/swagger";
// 创建并配置Swagger的BeanConfig对象
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.0");
beanConfig.setSchemes(new String[]{"http"});
beanConfig.setHost("localhost:8080");
beanConfig.setBasePath("/");
beanConfig.setResourcePackage(resourcePackage);
beanConfig.setScan(true);
// 注册Swagger的资源类
register(io.swagger.jaxrs.listing.ApiListingResource.class);
register(io.swagger.jaxrs.listing.SwaggerSerializers.class);
// 将Swagger UI的访问路径和Swagger的资源类关联起来
register(io.swagger.jersey.config.JerseyJaxrsConfig.class);
property("swagger.api.basepath", swaggerPath);
}
}
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/example")
@Api(value = "Example API")
public class ExampleResource {
@GET
@ApiOperation(value = "Get example", notes = "Returns an example response")
@Produces(MediaType.TEXT_PLAIN)
public String getExample() {
return "Example response";
}
}
import org.glassfish.jersey.jdkhttp.JdkHttpServerFactory;
import org.glassfish.jersey.server.ResourceConfig;
import javax.ws.rs.core.UriBuilder;
import java.net.URI;
public class Main {
public static void main(String[] args) {
URI baseUri = UriBuilder.fromUri("http://localhost/").port(8080).build();
// 创建Jersey的Application对象
ResourceConfig config = new MyApplication();
// 启动HTTP服务器
JdkHttpServerFactory.createHttpServer(baseUri, config);
}
}
Swagger UI的访问路径为:http://localhost:8080/swagger
这样,我们就配置好了Swagger UI + Jersey 2,并且可以通过Swagger UI来查看和测试我们的API接口。
推荐的腾讯云相关产品:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估。
领取专属 10元无门槛券
手把手带您无忧上云