现在的网站架构基本都采用前后端分离的技术,前端和后端的唯一联系变成了API接口;swagger就是一款让你更好地测试API接口的工具。
具体用法 导入依赖包将代码添加至application.properties中
增加工具类io.springfox springfox-swagger22.8.0 io.springfox springfox-swagger-ui2.8.0
新建一个utils包,创建一个Swagger的类,并在类中写入代码
package com.mybatis.mybatis.utils; 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 Swagger2 { @Bean public Docket createRestApi() { return new Docket(documentationType.SWAGGER_2) .apiInfo(apiInfo())//调用apiInfo方法,创建一个ApiInfo实例,里面是展示在文档页面信息内容 .select() .apis(RequestHandlerSelectors.basePackage("com.mybatis.mybatis.controller")) .paths(PathSelectors.any()) .build(); } //构建 api文档的详细信息函数 private ApiInfo apiInfo() { return new ApiInfoBuilder() //页面标题 .title("Spring Boot Swagger2 构建RESTful API") .termsOfServiceUrl("http://www.github.io/") .version("1.0") .description("API 描述") .build(); } }修改Controller层代码
注:@RestController作用
@RestController = @Controller + @ResponseBody
这个controller中方法只是想返回一个页面时,就不能用@RestController,因为它会把你的返回值当作数据返回,而不是页面名字,所以这时候就只能用@Controller。
使用@Controller修饰类,可以根据需要返回各种我们所需的数据(json(方法上使用@ResponseBod),ModelAndView,静态页面),而使用RestController修饰类,最后返回结果都会被解析成json字符串,适合所有的方法返回值都是json数据
访问路径http://localhost:8080/swagger-ui.html#/
最终效果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)