首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用JdkHttpServerFactory配置Swagger UI + Jersey 2

使用JdkHttpServerFactory配置Swagger UI + Jersey 2

JdkHttpServerFactory是一个用于配置和启动Java HTTP服务器的工具类。Swagger UI是一个用于可视化和交互式地展示API文档的工具。Jersey 2是一个用于构建RESTful Web服务的框架。

首先,我们需要导入JdkHttpServerFactory、Swagger UI和Jersey 2的相关依赖包,并添加到项目中。接下来,我们可以按照以下步骤配置Swagger UI + Jersey 2:

  1. 创建一个Jersey 2的Application类,该类继承自ResourceConfig,用于注册我们的资源类和配置Swagger。
代码语言:txt
复制
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);
    }
}
  1. 创建一个资源类,该类包含我们需要暴露的RESTful API接口。
代码语言:txt
复制
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";
    }
}
  1. 创建一个启动类,用于启动HTTP服务器并配置Jersey。
代码语言:txt
复制
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);
    }
}
  1. 在浏览器中访问Swagger UI。

Swagger UI的访问路径为:http://localhost:8080/swagger

这样,我们就配置好了Swagger UI + Jersey 2,并且可以通过Swagger UI来查看和测试我们的API接口。

推荐的腾讯云相关产品:

  • 腾讯云API网关:https://cloud.tencent.com/product/apigateway
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务:https://cloud.tencent.com/product/baas

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • swagger-bootstrap-ui使用说明

    有些朋友在使用这个jar包的时候会出现接口出不来的情况,或者只出现ui默认的几个接口,项目的api接口没有出来, 这里有些注意点同大家说一下吧 依赖swagger(这点很重要),所以项目必须启用swagger...,如果你的项目原来就是使用swagger的,仅仅只需要引入swagger-bootstrap-ui的jar包,然后访问/doc.html页面即可,类似于访问原生的/swagger-ui.html...swagger-bootstrap-ui仅仅只是ui包,没有特定的api语法,属于工具性质的,是完全依赖于swagger的,后端代码也需要使用swagger的java注解-来实现 swagger-bootstrap-ui...做的工作就是解析swagger的接口/v2/api-docs,根据该接口做的界面呈现,因为作者喜欢左右风格的布局,原生的ui布局是上下结构的,对于作者来说不是很方便,所以就写了这个小工具,开源出来给大家使用...,如果你也喜欢这种风格,你可以应用到你的项目中 git上也提供了一个demo,可以pull下来运行一下,地址:swagger-bootstrap-ui-demo 如果出现js报错,接口出不来,

    1.7K30

    Quarkus集成open api使用swagger ui(7)

    前言 Quarkus中对swagger ui也有支持,但是和spring 中直接集成swagger ui功能不同,Quarkus中使用open api规范得到接口的json数据,然后使用swagger...所以在Quarkus中集成swagger ui时,会发现没有swagger ui那些接口标记注解了,取而代之的是open api规范中的注解。下面来捋一捋他们的关系,看看怎么在Quarkus中使用。...同时也会注册/swagger-ui接口,访问http://localhost:8080/swagger-ui就可以看到如下的界面: 默认情况下,swagger ui只会在开发测试环境激活,如果你想在生产环境也使用...swagger-ui,需要在application.properties中添加quarkus.swagger-ui.always-include=true来激活,这个配置是编译时生效的,编译完成后无法更改...前面已经说过,Quarkus集成了open api导出接口数据使用swagger ui展示的,所有集成起来非常简单,下面看下如何使用open api的java规范注解详细的描述接口信息 应用基础信息定义

    35240

    Swagger 3.0配置整合使用教程

    ▌springfox-swagger 2 SpringBoot项目整合swagger2需要用到两个依赖:springfox-swagger2和springfox-swagger-ui,用于自动生成swagger...springfox-swagger2:这个组件的功能用于帮助我们自动生成描述API的json文件 springfox-swagger-ui:就是将描述API的json文件解析出来,用一种更友好的方式呈现出来...兼容性说明: 需要Java 8 需要Spring5.x(未在早期版本中测试) 需要SpringBoot 2.2+(未在早期版本中测试) ▌swagger3.0 与2.xx配置差异: 应用主类添加注解@EnableOpenApi...(swagger2是@EnableSwagger2) swagger配置类SwaggerProperties.class,与swagger2.xx 版本有差异,具体看下文 自定义一个配置类 SwaggerConfiguration.class...,看下文 访问地址:http://localhost:8080/swagger-ui/index.html (swagger2.xx版本访问的地址为http://localhost:8080/swagger-ui.html

    3.4K10

    .NET WebAPI 使用 GroupName 对 Controller 分组呈现 Swagger UI

    在日常开发 webapi 时,我们往往会集成 swagger doc 进行 api 的文档呈现,当api数量比较多的时候就会导致 swagger ui 上的 api 因为数量太多而显得杂乱,今天教大家如何利用...GroupName 属性来对 api 的 Controller 进行分组,然后利用 swagger ui 上的 Select a definition 切换功能进行多组 Controller 的切换。...#region 启用 Swagger //启用中间件服务生成Swagger作为JSON端点 app.UseSwagger(); //启用中间件服务对swagger-ui,指定Swagger JSON...Doc, 然后关于本文目的的 swagger 配置就完成了。...至此 .NET WebAPI 使用 GroupName 对 Controller 分组呈现 Swagger UI 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流,有兴趣的朋友可以关注我目前在维护的一个

    1K40

    多种方式解决spring boot swagger ui使用 nginx 部署后无法使用问题

    spring boot 使用 swagger ui 做接口文档,很是方便 本地测试都没有问题 将一个Spring boot工程部署到生产环境, 配置nginx: server { listen...Request URL: http://127.0.0.1:3101/test 而不是 http://quanke.name/test 通过朋友+搜索知道有两种方法解决此问题: 第一种:修改nginx配置文件.../127.0.0.1:3101; proxy_set_header Host $host; # 指定host } } 第二种:启动工程时显式添加属性 Java 启动的时候指定 swagger.v2....host: -Dspringfox.documentation.swagger.v2.host=quanke.name 启动命令实例: java -jar -Dspringfox.documentation.swagger.v2....host=quanke.name /data/app/quanke/api.jar 或者在配置文件(application.properties)中进行配置

    2.1K20

    SpringBoot使用Swagger2实现Restful API

    本文介绍springboot使用swagger2实现Restful API。 本项目使用mysql+jpa+swagger2。 首先pom中加入swagger2,代码如下: <?...配置类,简单解释一下,@Configuration注解让spring来加载配置,@EnableSwagger2开启swagger2。...; } } 启动项目,访问http://localhost:8888/swagger-ui.html,可以看到如下图 ?...然后给大家分享一下我之前学习时记录在有道云笔记的关于swagger2使用说明,原创作者是谁,我也记不清了。如果原创作者看到的话,可以私聊我,我给您的名字加上,抱歉。...@Api:用在请求的类上,表示对类的说明 tags="说明该类的作用,可以在UI界面上看到的注解" value="该参数没什么意义,在UI界面上也看到,所以不需要配置" 示例: @Api

    1K81

    使用Swagger2Markup实现导出API文档

    但是,构建的文档必须通过在项目中整合swagger-ui、或使用单独部署的swagger-ui和/v2/api-docs返回的配置信息才能展现出您所构建的API文档。...Swagger使用说明:REST API文档工具Swagger2,以及与SpringBoot的集成 Swagger2Markup简介 Swagger2Markup是Github上的一个开源项目。...项目主页:https://github.com/Swagger2Markup/swagger2markup 如何使用使用Swagger2Markup之前,我们先需要准备一个使用Swagger的Web...如果是对当前使用Swagger项目,我们通过使用访问本地Swagger接口的方式,如果是从外部获取的Swagger文档配置文件,就可以通过字符串或读文件的方式 toFolder(Paths.get(...通过Maven插件来生成 除了通过上面编写Java代码来生成的方式之外,swagger2markup还提供了对应的Maven插件来使用

    25K71

    走进Java接口测试之接口管理工具Swagger2

    与JAX-RS(Jersey、Resteasy、CXF...)、Servlets和Play框架进行集成。 Swagger-js: 用于JavaScript的Swagger实现。...为什么API接口文档用Swagger-UI? 现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用Restful编写API接口这种场景。...Swagger-UI 就是这样一种利器,基于Html+Javascript实现,倾向于在线文档和测试,使用和集成十分简单,能容易地生成不同模块下的API列表, 每个API接口描述和参数、请求方法都能定制并直接测试得到直观的响应数据...Swagger-UI怎么用? 目前官方提供的Swagger-UI使用方式主要有2种: 与不同的服务端代码集成,在服务端代码中嵌入SwaggerUI文档生成代码,部署时自动生成。...Swagger-UI访问与使用 API首页路径:http://127.0.0.1:8888/swagger-ui.html ?

    2.9K40
    领券