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

相关推荐

  • 利用大数据优化研发管理的方法

    在研发管理领域,大数据的应用能显著提升项目效率和决策质量。利用大数据优化研发管理主要涉及以下几个核心观点:1、数据驱动的决策制定;2、研发流程的动态优化;3、个性化的产品开发;4、风险识别与应对;5、协同工作与知识共享。通过整合和分析大规模的数据集合,公司能在各个研发阶段做出基于数据的精准决策,优化…

    2023年11月14日
    28200
  • 如何设定Scrum项目的冲刺目标

    在Scrum框架中,设定冲刺目标是至关重要的步骤,其设计确保团队集中精力完成最重要的工作。设定冲刺目标的核心观点包括1、确保目标对团队具有挑战性和可实现性;2、目标须与产品目标保持一致;3、利益相关者的需求应得到充分考虑。确保目标有利于推动产品向最终目标迈进,同时激励团队达成具体、可衡量的成果。有效…

    2023年12月11日
    29900
  • 项目管理到底要做什么

    项目管理核心职责包括1、设定和维护项目目标、2、组织和规划资源、3、领导项目团队、4、确保时间、成本和质量控制、5、风险管理和问题解决、6、沟通和利益相关者协调。在这些要点中,组织和规划资源 是项目管理中的关键要素,它涉及到项目成功的基本条件,贯穿项目的始终,包括人力资源、资金、时间和物资的合理配置…

    2024年1月8日
    21800
  • OKR在项目管理中的应用和最佳实践是什么

    摘要:OKR(Objectives and Key Results)作为一种目标设定框架,其在项目管理中的应用显著提升了目标的明确性和团队执行效率。在项目管理领域,OKR有助于设定清晰目标、激发团队动力、增进跨部门协作和追踪进度。最佳实践要点包括:1、将OKR与公司愿景和战略对齐;2、设定具体而可衡…

    2023年12月8日
    35100
  • 物业项目如何带队伍进行管理

    物业项目要成功进行团队管理,核心要领包括明确团队目标、建立有效沟通渠道、培养专业素养、实施绩效管理。物业管理工作高度依赖于团队的协作与执行力。明确团队目标是带队伍的首要步骤,这意味着所有成员都清楚地知道他们共同的工作目标是什么、以及他们需要如何合作以达成这些目标。这些目标应当是量化的、有时限的,并且…

    2024年4月11日
    4900
  • 如何使用甘特图来监控项目健康和绩效

    甘特图是一种强大的项目管理工具,用于监控项目的进展、健康和绩效。它能够直观展示项目时间线、工作分配和状态更新。1、提供进度跟踪,2、资源分配情况可视化,3、潜在风险及时识别,以及4、协调团队沟通。这些功能使项目经理能够确保项目按计划推进,并调整资源以优化绩效。在使用甘特图监控项目时重点关注进度跟踪,…

    2023年12月21日
    24000
  • 国产化类似Jira的Saas软件有哪些

    国产化的类似Jira的SaaS软件在企业和团队协作、项目管理、问题跟踪等方面提供了多样的本土化解决方案。以下为类似Jira的Saas软件: 1、蓝湖(Lanhu):蓝湖强调产品设计和团队协作,为设计师和开发者间桥梁。 2、Teambition:阿里巴巴集团的企业协作工具,有项目规划、任务分派、文档协…

    2023年11月13日
    33800
  • devops对运维有什么好处

    开门见山地讲,DevOps实践为传统运维带来显著效益1、提升了自动化水平、2、增强了跨部门合作、3、缩短了上线周期、4、提高了系统稳定性和安全性。这些好处使得组织能够更迅速而可靠地推进产品的迭代与优化。尤其其中,提升了自动化水平在最近几年中俨然成为了重中之重。通过实施自动化工具和一个流程的改进,运维…

    2024年3月26日
    6300
  • ms office和wps office的区别

    ms office和wps office的区别有:1、厂家不同;2、组件不同;3、特点不同;4、价格不同;5、功能不同;6、优势不同;7、需求不同等。厂家不同是指ms是由微软公司开发的办公软件套装;wps由金山软件股份有限公司自主研发的一款办公软件套装。 一、ms office和wps office…

    2023年3月24日
    11.7K00
  • 哪些特殊字符需要转义

    需要转义的特殊字符:1、$;2、( );3、*;4、+;5、.;6、[ ];7、?;8、\;9、^;10、{ };11、|。$是指,匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n’ 或 ‘\r’。要匹配 $ 字符本…

    2023年1月6日
    3.9K00

发表回复

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

400-800-1024

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

分享本页
返回顶部