Java项目怎么使用Swagger生成API文档

Swagger号称世界上最流行的Api框架;RestFul Api 文档在线自动生成工具=> Api文档与Api定义同步更新;直接运行,可以在线测试API接口;支持多种语言:(Java,Php…)。在项目中使用Swagger需要springfox。

一、编写API接口文档

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

import java.util.ArrayList;

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    /**
     * 创建API应用
     * apiInfo() 增加API相关信息
     * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
     * 本例采用指定扫描的包路径来定义指定要建立API的目录。
     *
     * @return
     */
    @Bean
    public Docket restApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("接口1")
                .apiInfo(apiInfo())
                //默认为true,若改为false则不能在浏览器中访问
//                .enable(false)
                
                .select()
                //RequestHandlerSelectors , 配置要扫描接口的方式
                //basePackage : 指定要扫描的包   basePackage("com.jin.swagger.controller")
                //any() : 扫描全部
                //none() : 不扫描
                //withClassAnnotation : 扫描类上的注解,参数是一个注解的反射现象
                //withMethodAnnotation : 扫描方法上的注解
                .apis(RequestHandlerSelectors.basePackage("com.jin.controller"))
                //过滤什么路径
//              .paths(PathSelectors.ant("/jin/**"))
                .build();
    }

    @Bean
    public Docket restApi2() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("接口2")
                .apiInfo(apiInfo2())
                .select()
                //none() : 不扫描
                .apis(RequestHandlerSelectors.none())
                .build();
    }

    //配置swagger显示信息
    private ApiInfo apiInfo() {
        //作者信息
        Contact contact = new Contact("酷小亚", "https://blog.csdn.net/weixin_45737330", "384921322@qq.com");
        return new ApiInfo(
                "SwaggerAPI文档————标题!!",
                "不到园林,怎知春色如许————文档描述!",
                "1.0",
                "http://localhost:8080/swagger-ui.html",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());

    }
    private ApiInfo apiInfo2(){
              return new ApiInfo(
                "接口2",
                "接口2描述!",
                "2.0",
                "http://localhost:8080/swagger-ui.html",
                null,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());
    }
}
Java项目怎么使用Swagger生成API文档
Java项目怎么使用Swagger生成API文档

延伸阅读

什么是java api

API(Application Programming Interface,应用程序编程接口)是一些预先定义的接口,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

运行Java程序时,虚拟机装载程序的class文件所使用的Java API class文件。所有被装载的class文件(包括从应用程序中和从Java API中提取的)和所有已经装载的动态库(包含本地方法)共同组成了在Java虚拟机上运行的整个程序。 在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源,Java API调用了本地方法。由于Java API class文件调用了本地方法,Java程序就不需要再调用它们了。通过这种方法,Java API class文件为底层主机提供了具有平台无关性、标准接口的Java程序。对Java程序而言,无论平台内部如何,Java API都会有同样的表现和可预测的行为。正是由于在每个特定的主机平台上明确地实现了Java虚拟机和Java API,因此,Java程序自身就能够成为具有平台无关性的程序。

文章标题:Java项目怎么使用Swagger生成API文档,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37486

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月8日 下午5:48
下一篇 2023年2月8日 下午6:13

相关推荐

  • devops平台解决什么问题

    开门见山,DevOps平台旨在提升软件开发质量与交付速度,缩短开发周期,增强部署的稳定性和安全性,并且提升跨部门的协作效率。主要问题涉及:1、加速产品迭代、2、改善开发与运维间的协作、3、降低软件部署风险、4、持续交付和集成、5、资源管理和优化,等五个方面。针对加速产品迭代,DevOps平台借助自动…

    2024年3月26日
    7200
  • 员工激励方式有哪些方面

    员工激励方式有两个方面:一、货币激励;二、非货币激励。其中货币激励包括:1、奖金;2、股份;3、佣金支付;4、加薪;非货币激励包括:1、认可;2、奖励;3、团队经历;4、专业技能学习。 一、货币激励 1、奖金 名列前茅可以支付特别奖金,这是完成项目或有效工作的意外奖金。当个人或团队达到特定目标时,提…

    2022年11月15日
    85100
  • 云笔记软件有什么

    云笔记软件有:一、Evernote;二、OneNote;三、Google Keep;四、Dropbox Paper;五、为知笔记。Evernote是一款功能强大的云笔记软件,早在2008年就推出了它的第一个版本。它支持多种平台,包括Windows、Mac、iOS和Android等。Evernote提…

    2023年4月30日
    58600
  • oa办公室自动化系统

    标题:OA办公室自动化系统的功能与实施要点 企业采用OA办公室自动化系统,主要为提高办公效率、优化管理流程、实现信息共享与通讯便捷。OA系统集成了文件管理、1、会议管理、2、项目调度、3、电子邮件以及互联网/局域网通讯等核心应用。细节上,OA系统支持移动办公、审批流程电子化,加强了企业内部的数据保护…

    2024年1月15日
    33600
  • 实践教程:知识库内容的有效组织和分类

    知识库内容的有效组织和分类的教程:1、明确知识库的目标;2、了解用户需求;3、设计清晰的结构;4、定义标准化的分类体系;5、考虑知识库的生命周期;6、清理和更新现有内容;7、制定内容审查和更新策略;8、建立内容审批流程;9、使用标签进行更灵活的分类;10、定义标准的元数据;11、提供强大的搜索功能;12、使用搜索关键词;13、提供培训和支持;14、推动知识库文化等等。

    2023年11月16日
    39800
  • 瀑布模型的局限性是什么

    瀑布模型的局限性包括以下几点:1、不支持需求动态变化;2、工作阶段间依赖性强;3、交付时才能看到产品。瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。 1、不支持需求动态变化 瀑布模型要求在软件开发的初始阶段(需求分析阶段)就给出系统全部的、准…

    2022年12月27日
    1.0K00
  • 产品思维如何管理项目经理

    产品思维在管理项目中起着关键的角色。它涉及到理解用户需求、定义产品目标、以数据为导向的决策制定、以及迭代快速反应市场变化。这些原则不单只适用于产品经理,同样对项目管理亦具有重大意义。特别是在定义产品目标方面,项目经理可以借鉴产品思维,通过深入理解用户需求,制定出符合市场和用户期待的项目目标,这样不仅…

    2024年4月10日
    3900
  • 东方雨虹oa系统

    标题:探究东方雨虹OA系统的影响和效益 东方雨虹OA系统实施带来的主要影响包括:1、提高工作效率、2、促进信息共享、3、加强数据管理、4、改善流程管理、5、强化移动办公、6、提升决策支持能力。其中,提高工作效率为整个系统增效的关键因素。该系统通过集成化的工作流程,实现不同部门间流程的无缝对接,减少了…

    2024年1月15日
    20400
  • 工作流程怎么做

    工作流程的做法:1、记下当前的工作流程;2、确定您的资源;3、确定可交付成果;4、列出流程步骤和任务等。记下当前的工作流程是指,确定当前在整个企业中使用的工作流,并与流程所有者讨论他们面临的问题或他们在当前实践中遇到的问题。 1、记下当前的工作流程 确定当前在整个企业中使用的工作流,并与流程所有者讨…

    2023年2月9日
    41800
  • 什么是情感营销,它如何影响消费者

    情感营销 是商家在推广其产品或服务时所采取的一种策略,目的在于触动消费者的情感,从而促进购买行为。核心观点包括:1、建立情感联系;2、提高品牌忠诚度;3、增强用户体验;4、促进口碑传播;5、实现销售目标。情感营销通过吸引消费者的情感,使其产生认同感和信任感,进一步激发消费欲望。使用故事讲述、社会责任…

    2023年11月27日
    53500

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部