springdoc-openapi-用户界面如何将请求设置为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 列表中选择指定的接口根路径即可,接口根路径会根据你的选择自动变更。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值