Open tntfyf opened 1 year ago
环境信息 JDK 1.8 spring boot 2.7.14 knife4j-openapi3-spring-boot-starter 4.2.0
问题复现条件: 需要在application.yml中增加如下配置,
spring: mvc: static-path-pattern: /static/**
server: port: 8080 servlet:
context-path: /api
问题原因说明: 由于doc.html属于静态文件,所以访问时需要加上http://ip:port/api/static/doc.html , 由于openapi 3.0规范没有basePath,所以前端截取了当前URI作为basePath:/api/static。但是后端地址前缀是/api。页面自动拼接后的接口地址是http://ip:port/api/static/order/v1/domainLogicalProcessing/{orderId} ,此地址访问404, 正确的地址应该是http://ip:port/api/order/v1/domainLogicalProcessing/{orderId} 。
404 请求成功
+1同样 我们部署上去后经过网关带前缀就无法正常使用了. 但同样的情况在V2版本是正常的,不需要额外配置任何东西.
环境信息 JDK 1.8 spring boot 2.7.14 knife4j-openapi3-spring-boot-starter 4.2.0
问题复现条件: 需要在application.yml中增加如下配置,
Spring配置
spring: mvc: static-path-pattern: /static/**
开发环境配置
server: port: 8080 servlet:
应用的访问路径
问题原因说明: 由于doc.html属于静态文件,所以访问时需要加上http://ip:port/api/static/doc.html , 由于openapi 3.0规范没有basePath,所以前端截取了当前URI作为basePath:/api/static。但是后端地址前缀是/api。页面自动拼接后的接口地址是http://ip:port/api/static/order/v1/domainLogicalProcessing/{orderId} ,此地址访问404, 正确的地址应该是http://ip:port/api/order/v1/domainLogicalProcessing/{orderId} 。
404 请求成功