Swagger整合Serverlet API(纯servlet)

参看了一下资料,国内的关于Swagger整合Springboot、SpringMVC的和很多。 但是,怎么整合纯Servlet一直没有度娘到。由于项目需要特整理了一个。  自己查查官方资料并整理如下。 

参考代码地址: https://github.com/kkman2008/SwaggerServletSample

Swagger官网: https://swagger.io/

步骤1。创建一个简单的maven web-app并在pom.xml中添加以下依赖项

<dependency> 
            <groupId> com.wordnik </ groupId> 
            <artifactId> swagger-annotations </ artifactId> 
            <version> 1.3.11 </ version> 
        </ dependency> 
        <dependency> 
            <groupId> com.wordnik </ groupId> 
            <artifactId> swagger-servlet_2.10 </ artifactId> 
            <version> 1.3.13 </ version> 
            <exclusions> 
                <exclusion> 
                    <groupId> com.google.guava </ groupId> 
                    <artifactId> guava </ artifactId> 
                </排除> 
            </ exclusions>
        </ dependency> 
        <dependency> 
            <groupId> io.swagger </ groupId>
            <artifactId> swagger-servlet </ artifactId> 
            <version> 1.5.7 </ version> 
            <exclusions> 
                <exclusion> 
                    <groupId> com.google.guava </ groupId> 
                    <artifactId> guava </ artifactId> 
                </ exclusion> 
            </ exclusions> 
        </ dependency> 
        <dependency> 
            <groupId> com.wordnik </ groupId> 
            <artifactId> swagger-jersey-jaxrs_2.10 </ artifactId> 
            <version> 1.3.13 </ version> 
        </ dependency> 
        <dependency> 
            <groupId>com.google.guava </ groupId> 
            <artifactId> guava </ artifactId>
            <version> 19.0 </ version> 
        </ dependency> 
        <dependency> 
            <groupId> com.wordnik </ groupId> 
            <artifactId> swagger-core_2.10 </ artifactId> 
            <version> 1.3.13 </ version> 
            <scope>comiplie</ scope> 
        </ dependency>

第2步:在web.xml中注册所需的servlet 以处理swagger注释...以及托管swagger文档

一个。昂首注释扫描仪

<! - swagger servlet reader - >

    <servlet> 
        <servlet-name> DefaultServletReaderConfig </ servlet-name> 
        <servlet-class> com.wordnik.swagger.servlet.config.DefaultServletReaderConfig </ servlet-class> 
        <init-param> 
            <param-name> swagger.resource .package </ param-name> 
            <param-value> servlet.kvn </ param-value> 
        </ init-param> 
        <init-param> 
            <param-name> swagger.api.basepath </ param-name> 
            < param-value> http:// localhost:8180 / swaggerservlet </ param-value> 
        </ init-param> 
        <init-param> 
            <param-name> api.version </ param-name>
            <param-value> 1.0.0 </ param-value> 
        </ init-param>
        <load-on-startup> 1 </ load-on-startup> 
    </ servlet>

 swagger servlet用于托管文档

<! - 用于访问swagger文档的swagger api声明servlet - > 
    <servlet> 
        <servlet-name> ApiDeclarationServlet </ servlet-name> 
        <servlet-class> com.wordnik.swagger.servlet.listing.ApiDeclarationServlet </ servlet-class> 
    </ servlet> 
    <servlet-mapping> 
        <servlet-name> ApiDeclarationServlet </ servlet-name> 
        <url-pattern> / api-docs / * </ url-pattern> 
    </ servlet-mapping>

C。和一个带有swagger文档的简单servlet

<servlet> 
        <servlet-name> MyServlet </ servlet-name> 
        <display-name> MyServlet </ display-name> 
        <description> </ description> 
        <servlet-class> servlet.kvn.MyServlet </ servlet-class> 
    </ servlet的>

<servlet-mapping> 
        <servlet-name> MyServlet </ servlet-name> 
        <url-pattern> / MyServlet </ url-pattern> 
    </ servlet-mapping>

第3步:带有swagger注释的简单自定义servlet

@Api(value = “/MyServlet”, description = “My Simple Servlet”,produces=”application/json”)
public class MyServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public MyServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    @ApiOperation(
            value = “A get operation”,
            notes = “A Simple get operation”,
            httpMethod = “GET”,nickname=”myservlet”)
         public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println(“Do Get Method Called.”);
        response.getWriter().write(“{status:Sucess fully called get method}”);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().write(“{status:Sucess fully called post method}”);
    }

}

步骤4:在任何服务器上构建和部署war文件,并访问http:// localhost:port / api-docs /中的swagger文档

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值