springdoc-openapi用户界面实现将请求设置为HTTPS

 更新时间:2026年01月01日 15:56:55   作者:咚咚阳丶  
文章介绍了在使用Swagger进行API测试时遇到HTTPS请求问题的解决方案,包括将服务地址添加到配置文件和在SpringDoc配置类中设置服务列表,从而使得Swagger页面能够正确发起HTTPS请求

一、问题描述

当我们的服务接口需要通过HTTPS访问时,通过swagger可视化页面请求接口的时候,发起的是HTTP请求,导致请求无法到达后端,影响测试。

二、解决方法

1、将服务的地址添加到配置文件中

swagger:
  server-list: 
    #本地环境
  - 127.0.0.1:8007
    #线上https环境
  - https://www.xxx.com 

2、在SpringDoc的配置类中注入配置信息,并设置服务列表

import java.util.ArrayList;
import java.util.List;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import io.swagger.v3.oas.models.servers.Server;
import lombok.Data;

/**
 * spring doc配置
 * 
 * @author ldy
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "swagger")
public class SpringDocConfig {

    /**
     * 服务地址列表
     */
    private List<String> serverList;

    @Bean
    public OpenAPI restfulOpenAPI() {
        OpenAPI openAPI = new OpenAPI()
                .info(new Info().title("你的项目名称").description("Spring Boot3 Restful API").version("V1.0.0")
                        .license(new License().name("访问SpringDoc官方网站").url("http://springdoc.org")))
                .externalDocs(
                        new ExternalDocumentation().description("欢迎访问LDY的技术博客").url("https://blog.csdn.net/ldy1016"));
         
        // 手动配置服务地址列表
        if (serverList != null && serverList.size() > 0) {
            List<Server> servers = new ArrayList<>();
            for (String server : serverList) {
                servers.add(new Server().url(server));
            }
            openAPI.servers(servers);
        }

        return openAPI;
    }

}

三、运行效果

如图所示,在swagger页面的 Servers 列表中选择指定的接口根路径即可,接口根路径会根据你的选择自动变更。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mybatis中resultMap 标签的使用教程

    mybatis中resultMap 标签的使用教程

    resultMap 标签用来描述如何从数据库结果集中来加载对象,这篇文章重点给大家介绍mybatis中resultMap 标签的使用,感兴趣的朋友一起看看吧
    2018-07-07
  • 解决spring data jpa 批量保存更新的问题

    解决spring data jpa 批量保存更新的问题

    这篇文章主要介绍了解决spring data jpa 批量保存更新的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Apache SkyWalking 修复TTL timer 失效bug详解

    Apache SkyWalking 修复TTL timer 失效bug详解

    这篇文章主要为大家介绍了Apache SkyWalking 修复TTL timer 失效bug详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Java学习之异常处理的新特性详解

    Java学习之异常处理的新特性详解

    异常处理机制是Java很早时就搞出来的技术,但在实际应用中,我们发现这个异常处理也有一些不完善的地方,接下来主要给大家介绍一下Java异常处理的一些新特性,需要的朋友可以参考下
    2023-08-08
  • Java中包装类和Arrays类的详细介绍

    Java中包装类和Arrays类的详细介绍

    Arrays针对于数组做操作的类,该类包含用于操作数组的各种方法(如排序和搜索),这篇文章主要给大家介绍了关于Java中包装类和Arrays类的详细介绍,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • JAVA JNA调用C接口的三种实现方式

    JAVA JNA调用C接口的三种实现方式

    文章主要介绍了使用JNA(Java Native Access)调用C库的方法,包括继承Library接口、直接使用`NativeLibrary`实例和使用头文件实现接口等方式,并详细描述了在Linux环境下使用JNA调用C库的具体操作步骤,还涉及到了一些遇到的问题的解决方法
    2026-05-05
  • 在Java下利用log4j记录日志的方法

    在Java下利用log4j记录日志的方法

    本文先对log4j进行了简短的介绍,而后通过安装、配置和普通项目和web项目几个方面来详细介绍了在Java下利用log4j记录日志的方法,有需要的朋友们可以参考借鉴。
    2016-09-09
  • java之函数式接口解读

    java之函数式接口解读

    这篇文章主要介绍了java之函数式接口,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Netty解决半包和粘包问题的方案

    Netty解决半包和粘包问题的方案

    Netty 是一个高性能、异步事件驱动的网络应用框架,广泛应用于各种网络通信场景,这篇文章,我们将详细分析 Netty 是如何解决半包和粘包问题,文中通过代码示介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • Java中的NumberFormatException异常原因以及解决方案详解

    Java中的NumberFormatException异常原因以及解决方案详解

    这篇文章主要介绍了Java中的NumberFormatException异常原因以及解决方案详解,NumberFormatException 是 Java 中的一个异常类,通常在字符串转换为数字的过程中发生,它表示一个无效的数字格式,即字符串无法被正确解析为数字,需要的朋友可以参考下
    2024-02-02

最新评论