返回顶部
首页 > 资讯 > 后端开发 > Python >Springboot整合Springfox生成restful的在线api文档
  • 880
分享到

Springboot整合Springfox生成restful的在线api文档

2024-04-02 19:04:59 880人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录springfox是什么,有什么用?Springfox的依赖Springfox的配置测试的ControllSpringfox是什么,有什么用? Springfox基于swagge

Springfox是什么,有什么用?

Springfox基于swagger,能更方便的集成到Spring Boot 中,Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 WEB 服务。Swagger的目标是对REST api定义一个标准的和语言无关的接口,可让人和计算机无需访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过Swagger进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger消除了调用服务时可能会有的猜测。

Springfox官方文档:Http://springfox.GitHub.io/springfox/docs/snapshot/

Springfox的依赖

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>

Springfox的配置

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket demoApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("demo")
                .genericModelSubstitutes(DeferredResult.class)
                .useDefaultResponseMessages(false)
                .forCodeGeneration(false)
                //.pathMapping("/") //根路径
                .select()
                .paths(PathSelectors.regex("/user/.*"))//筛选展示的接口,使用PathSelectors.any(),展示所有接口
                .build()
                .apiInfo(demoApiInfo())
                ;
    }
    //api信息
    private ApiInfo demoApiInfo() {
        ApiInfo apiInfo = new ApiInfo("自己平台的api",//大标题
                "swagger搭建api平台",//小标题
                "1.0",//版本
                "NO terms of service",
                "632104866@qq.com",//作者
                "这是我的技术博客站点",//链接显示文字
                "http://www.kailing.pub"//网站链接
        );
        return apiInfo;
    }
}

测试的Controll

@RestController
@RequestMapping("/user")
public class SwaggerDemoController {
    @RequestMapping(value = "/demo2",method = RequestMethod.POST)
    @ApiOperation(value="测试接口1", notes="测试接口详细描述")
    @ResponseBody
    ModelMap getDemo(@RequestBody User user) {
        ModelMap map = new ModelMap();
        map.addAttribute("userId", 111);
        map.addAttribute("userName", "kl博客");
        return map;
    }
    @ResponseBody
    @RequestMapping(value = "/demo3", method = RequestMethod.POST)
    @ApiOperation(value="测试接口2", notes="测试接口详细描述",code = 200,produces = "application/JSON")
    public ModelMap getDemoa(@RequestParam("name") String demoName, @RequestParam String content) {
        ModelMap map = new ModelMap();
        map.addAttribute("result",demoName + "AAA");
        return map;
    }
    @ResponseBody
    @ApiIgnore //使用这个注解忽略这个接口
    @RequestMapping(value = "/demo4", method = RequestMethod.POST)
    public ModelMap getDemob(@RequestParam String content) {
        ModelMap map = new ModelMap();
        map.addAttribute("result",new java.util.Date());
        return map;
    }
}

 在浏览器输入http://localhost:8080/swagger-ui.html,可查看是否整合成功

至此我们的额api在线文档整合完成了,下面是效果图

以上就是Spring boot整合Springfox生成restful的在线api文档的详细内容,更多关于Spring boot整合Springfox生成restful在线api的资料请关注编程网其它相关文章!

--结束END--

本文标题: Springboot整合Springfox生成restful的在线api文档

本文链接: https://lsjlt.com/news/141674.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作