iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java Swagger技术使用指南
  • 673
分享到

Java Swagger技术使用指南

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

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

摘要

目录swagger的作用与概念在项目中使用swagger配置swaggerapiInfo 配置swagger配置扫描接口配置api文档分组多个分组实体类配置Swagger的作用与概念

Swagger的作用与概念

Swagger官网,点此进入
在前后端分离时代,我们需要实时自动更新接口信息,和测试接口,实现前后端分离式开发,swagger因此产生

在项目中使用swagger

以下以3.0.0依赖为例


 <!--swagger 相关组件-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>3.0.0</version>
        </dependency>
          <dependency>
           <groupId>io.springfox</groupId>
           <artifactId>springfox-boot-starter</artifactId>
           <version>3.0.0</version>
        </dependency>

@RestController
public class HelloController {

    @RequestMapping(value = "/hello")
    public String hello(){
         return "hello";
    }
}

@Configuration
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {

}

然后访问Http://localhost:8080/swagger-ui/index.html
你就能看到如下界面,为swagger文档

在这里插入图片描述

配置swagger

先来看看底层的代码,了解一下

在这里插入图片描述

在这里插入图片描述

ApiInfo 配置


@Configuration
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {

    @Bean
    public Docket docket(){

        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
    }

    //配置swagger信息apiInfo
    private ApiInfo apiInfo(){
        //作者信息
        Contact contact = new Contact("宋先慧", "https://blog.csdn.net/sxh06", "xianhuisong@yeah.net");
        return new ApiInfo(
                "宋先慧的Api Documentation",
                "学习swagger没有尽头",
                "1.0",
                "urn:tos",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());
    }

}

swagger配置扫描接口


@Configuration
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {

//    @Bean
//    public Docket docket1(){
//        return new Docket(DocumentationType.SWAGGER_2).groupName("分组二");
//    }
    @Bean
    public Docket docket(Environment environment){


        Profiles profiles=Profiles.of("dev");
        //获取项目的环境
         boolean flag=environment.acceptsProfiles(profiles);

        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .groupName("宋先慧")  //分组
                .enable(flag)  //enable 配置是否启动swagger  flase则不能在浏览器访问
                .select()
                //RequestHandlerSelectors实现类  配置扫描方式
                // basePackage指定要扫描的包
                // any()全部
                // none()都不扫描
                //withClassAnnotation()  扫描类上的注解  参数是一个注解的反射对象
                //withMethodAnnotation   扫描方法上的注解
                .apis(RequestHandlerSelectors.basePackage("com.sxh.swagger.controller"))
                //.apis(RequestHandlerSelectors.withMethodAnnotation(GetMapping.class))
                //过滤什么路劲  过滤请求
                //.paths(PathSelectors.ant("/sxh/**"))
                .build();
    }

    //配置swagger信息apiInfo
    private ApiInfo apiInfo(){
        //作者信息
        Contact contact = new Contact("宋先慧", "https://blog.csdn.net/sxh06", "xianhuisong@yeah.net");
        return new ApiInfo(
                "宋先慧的Api Documentation",
                "学习swagger没有尽头",
                "1.0",
                "urn:tos",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());
    }

}

如果我只希望在生成环境使用swagger,在正式环境不使用swagger怎么解决?(enable=false|true)

配置api文档分组

在这里插入图片描述

多个分组

配置多个Docket 实例即可


 @Bean
    public Docket docket1(){
        return new Docket(DocumentationType.SWAGGER_2).groupName("分组一");
    }

 @Bean
    public Docket docket2(){
        return new Docket(DocumentationType.SWAGGER_2).groupName("分组二");
    }`

实体类配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

到此这篇关于Java Swagger技术使用指南的文章就介绍到这了,更多相关Java Swagger内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java Swagger技术使用指南

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java Swagger技术使用指南
    目录Swagger的作用与概念在项目中使用swagger配置swaggerApiInfo 配置swagger配置扫描接口配置api文档分组多个分组实体类配置Swagger的作用与概念...
    99+
    2024-04-02
  • PHP中的WebSocket技术指南
    随着Web应用程序应用的日益普及,Websocket成为了一项至关重要的技术。Websocket技术提供了一种全双工、实时通信的方式,并在传统的HTTP请求-响应模式中不断发展。PHP是一种流行的脚本语言,广泛用于Web开发和应用程序中。本...
    99+
    2023-05-22
    PHP websocket 技术指南
  • Oracle API使用指南:探索数据接口技术
    Oracle是一家全球知名的数据库管理系统提供商,其API(Application Programming Interface,应用程序接口)是一种强大的工具,可帮助开发人员轻松地与O...
    99+
    2024-03-07
    api oracle 数据接口 java应用程序
  • PHP中的直播技术指南
    PHP是一种流行的脚本语言,非常适合用于开发网络应用程序。如果您需要构建一个直播业务,PHP还可以帮助您实现这一目标。本文将介绍PHP中的一些直播技术指南,帮助您了解如何利用PHP构建强大的直播应用。一、什么是直播技术?直播技术是通过网络将...
    99+
    2023-05-23
    指南 PHP 直播技术
  • PHP中的爬虫技术指南
    随着互联网的迅猛发展和数据的爆炸式增长,人们越来越需要有效地获取和处理大量的网络数据。而网络爬虫技术便诞生了,它可以从互联网上自动采集数据,从而有效地提高数据获取的效率和准确性。而PHP作为一种强大的编程语言,也可以用于开发网络爬虫。本文将...
    99+
    2023-05-21
    PHP 爬虫 技术指南
  • C++技术中的内存管理:智能指针的使用指南
    智能指针在 c++++ 中用于实现安全的内存管理,从而消除内存泄漏和访问后释放错误。它们有两种主要类型:std::unique_ptr 用于唯一所有权,std::shared_ptr 用...
    99+
    2024-05-07
    c++ 内存管理 标准库
  • 绝对定位技术的关键特性和使用指南
    绝对定位技术(Absolute Positioning)是一种在网页设计中常用的布局方法,可以精确地控制元素在页面中的位置。无论页面如何滚动,这些元素都会始终停留在指定的位置上。本文将介绍绝对定位技术的关键特点和使用技巧,并提供...
    99+
    2024-01-23
    使用技巧 关键特点 定位技术
  • PHP中的MD5加密技术指南
    PHP 是一门非常强大的编程语言,广泛应用于 Web 开发领域。随着 Web 网站日益壮大,网站安全问题成为 Web 开发中不可忽视的因素。其中,密码安全是最为重要的一环。为了保护用户密码,Web 开发人员常常使用加密技术来对密码进行加密存...
    99+
    2023-05-22
    PHP 加密技术 MD
  • PHP中的OCR识别技术指南
    随着数字化时代的到来,许多企业和个人都需要将纸质文档进行数字化处理。而OCR(Optical Character Recognition,光学字符识别)识别技术,正是解决这一问题的有效方法之一。PHP,作为一种流行的服务器端语言,也提供了一...
    99+
    2023-05-21
    OCR PHP 技术指南
  • PHP中的SHA1加密技术指南
    SHA1是一种哈希函数,可用于将任意长度的信息压缩为一个160位的散列值,也称为消息摘要。在Web应用程序中,SHA1经常被用作密码加密技术。本文将介绍如何使用PHP中的SHA1加密技术来保障网站和用户信息的安全。SHA1是什么?SHA1是...
    99+
    2023-05-20
    PHP SHA加密 技术指南
  • Postman使用指南及小技巧
    目录一、什么是 Postman(前世今生)二、使用变量2.1 变量作用域适用于 Postman 中不同的场景2.2 编辑全局和环境变量2.3 编辑集合变量2.4 使用系统内置动态变量...
    99+
    2024-04-02
  • PHP中的性能优化技术指南
    随着网站越来越复杂,PHP程序的性能问题也成为了大多数Web开发人员关注的焦点。为了满足日益增长的访问量,我们需要优化PHP应用程序的性能。下面让我们来了解一些PHP中的性能优化技术。使用缓存缓存是提高PHP应用程序性能的一个重要手段。使用...
    99+
    2023-05-21
    PHP 性能优化 技术指南
  • 数据类型进阶指南:Java IDE开发技术的高级技巧!
    Java是一种广泛使用的编程语言,具有良好的可移植性、面向对象的特点和强大的安全性。在Java开发中,我们经常会用到各种数据类型。在这篇文章中,我们将探讨Java数据类型的进阶知识,以及如何在Java IDE中应用高级技巧来更好地开发Ja...
    99+
    2023-08-28
    ide 开发技术 数据类型
  • PHP中的推荐系统技术指南
    在当今互联网时代,推荐系统已逐渐成为各大网站以及电商平台不可或缺的功能之一。而要实现一个高效准确的推荐系统,则需要依靠各种技术手段来实现。本篇文章将以PHP技术为核心,为大家详细介绍在PHP中实现推荐系统的技术指南。一、数据存储技术数据存储...
    99+
    2023-05-21
    推荐系统 PHP 技术指南
  • PHP中的即时通讯技术指南
    近年来,随着互联网技术的不断发展,即时通讯技术成为了各个领域中不可或缺的一部分,而在Web开发中,PHP作为一种广泛应用的服务器端脚本语言,也开始探索并应用即时通讯技术。本文将围绕PHP中的即时通讯技术,从通讯协议、技术方案、应用场景三个方...
    99+
    2023-05-22
    PHP编程 技术指南 即时通讯
  • 掌握canvas JS技术的全面指南
    从入门到精通:Canvas JS技术指南 引言:Canvas是HTML5中的一个重要特性,可以通过JavaScript动态绘制图形。它提供了强大的绘图功能,可以用来创建图表、绘制图形以及展示数据。本文将通过代码示例,从入门级别逐...
    99+
    2024-01-17
    入门: 介绍 精通: 进阶
  • Java 集合遍历指南:Iterator 和 Iterable 的使用技巧
    : 在Java中,集合是存储和管理元素的强大工具,而Iterator和Iterable则是高效遍历集合的利器。Iterator提供了一种逐步访问集合元素的机制,而Iterable则定义了集合的遍历操作。掌握Iterator和Iterabl...
    99+
    2024-02-14
    : Java集合 Iterator Iterable foreach 数据遍历 优化
  • 如何用Java编写高效的容器算法:开发技术指南
    Java是一门非常流行的编程语言,拥有众多开发者和优秀的开源库,其容器算法也非常出色。在本文中,我们将探讨如何使用Java编写高效的容器算法。 Java的容器类 Java的容器类是指用于存储和操作对象的类。在Java中,有三种基本的容器类型...
    99+
    2023-08-08
    容器 编程算法 开发技术
  • 数据类型选择指南:Java IDE开发技术的秘诀!
    Java是一种面向对象的编程语言,拥有强大的数据类型系统。在Java IDE开发中,选择正确的数据类型可以提高代码的可读性和性能。本文将为您介绍如何选择正确的数据类型以及演示代码示例。 一、基本数据类型 Java的基本数据类型包括八种类型...
    99+
    2023-08-28
    ide 开发技术 数据类型
  • PHP中的音视频会议技术指南
    随着互联网技术的不断发展,音视频会议技术已经成为人们进行远程会议交流的重要手段之一。作为一种广泛应用的会议技术,PHP作为一种广泛使用的Web开发语言,也具有丰富的音视频会议技术应用。本文将为大家介绍PHP中的音视频会议技术指南。一、音视频...
    99+
    2023-05-20
    PHP 音视频 会议技术
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作