美文网首页
swagger简单学习

swagger简单学习

作者: dwwl | 来源:发表于2019-04-16 10:58 被阅读0次

流程:

  1. 系统启动,扫描到api工程下的Swagger2Configuration配置类
  2. 配置类中指定了包路径com.xuecheng,这会找到包下被@RestController注解的类
  3. 根据controller的swagger注解生成接口文档

在本项目中,把类注解和方法注解到controller实现的接口上,

至于为什么注解到接口上,就可以根据实现类生成文档,理解方式两种:框架内部处理(应该是这种方式) 注解继承了(待)

Swagger2Configuration.java

package com.xuecheng.api.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

//
@Configuration
@EnableSwagger2
public class Swagger2Configuration {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.xuecheng"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("学成网api文档")
                .description("学成网api文档")
//                .termsOfServiceUrl("/")
                .version("1.0")
                .build();
    }

}

CmsPageControllerApi.java

package com.xuecheng.api.cms;

import com.xuecheng.framework.domain.cms.CmsPage;
import com.xuecheng.framework.model.response.QueryResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

@Api(value = "cms页面管理接口",description = "cms页面管理接口,提供页面的CRUD")
public interface CmsPageControllerApi {

    @ApiOperation("分页管理页面列表")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "page",value = "页码",required = true,paramType = "path",dataType = "int"),
            @ApiImplicitParam(name = "size",value = "每页记录数",required = true,paramType = "path",dataType = "int")
    })
    QueryResponseResult findPageList(int page, int size, CmsPage cmsPage);

}

cmsPageController.java

@RestController
@ComponentScan("com.xuecheng.api")
public class CmsPageController implements CmsPageControllerApi {

    @Autowired
    private CmsPageService cmsPageService;

    @GetMapping("/cms/page/{page}/{size}")
    @Override
    public QueryResponseResult findPageList(@PathVariable("page") int page,@PathVariable("size") int size, CmsPage cmsPage) {
        QueryResponseResult result = cmsPageService.findnCmsPageList(page, size, cmsPage);
        return result;

    }

    @GetMapping("test")
    @ResponseBody
    public String test() {
        System.out.println("Test");
        return "ok";
    }
}

相关文章

  • swagger简单学习

    流程: 系统启动,扫描到api工程下的Swagger2Configuration配置类 配置类中指定了包路径com...

  • springboot整合swagger2

    发现我们公司蛮喜欢用swagger2的,那就学习一波 swagger2是什么 简单来说,swagger2通过注解可...

  • Java-Swagger

    1、swagger学习 Swagger定义Swagger同类工具Swagger和web项目结合Swagger在公司...

  • Swagger

    1、swagger学习 Swagger定义Swagger同类工具Swagger和web项目结合Swagger在公司...

  • 如何在生产环境禁用Swagger

    SpringMVC集成springfox-swagger2和springfox-swagger-ui很简单,只需要...

  • Swagger简介

    swagger 了解更多 一、简介 Swagger是一种REST APIs的简单但强大的表示方式,标准的,语言无关...

  • swagger描述restful接口

    项目交付的时候客户要求提供基于swagger的restful接口文档,所以简单使用了一下。 Swagger Swa...

  • 配置不同环境下启用swagger,在生产环境关闭swagger

    前言 Swagger使用起来简单方便,几乎所有的API接口文档都采用swagger了。使用示例:http://ww...

  • swagger简单了解

    前情简介:随着互联网发展,前后端慢慢分离,到最后仅靠API接口联系。于是API文档变成了前后端开发人员联系的...

  • 01-gin 框架的 swager 使用

    @[toc] 前言以二开滴滴的夜莺监控作示例,说明go-swagger的简单使用 1. 安装go-swagger ...

网友评论

      本文标题:swagger简单学习

      本文链接:https://www.haomeiwen.com/subject/ztivwqtx.html