GoFrame框架SetFileServerEnabled关闭静态服务不生效

按照GoFrame文档静态文件服务配置这一节中介绍的这段通过SetFileServerEnabled关闭了静态服务,所有静态文件/目录的访问都将失效,实际使用过程中发现并没有生效

s.SetFileServerEnabled(false)

在检查goframe源码后发现原因,在gttp包的gttp_server.go文件,约第130行中,有这样一行代码

s.AddStaticPath(s.config.SwaggerPath, swaggerUIPackedPath)

AddStaticPath方法会将s.config.FileServerEnabled重新设置成true,导致就算我们使用了s.SetFileServerEnabled(false),也无法达到关闭静态文件的效果。想生效,需要满足两个条件。

  • 必须在SetServerRoot、AddSearchPath、AddStaticPath这些方法调用后的地方使用s.SetFileServerEnabled(false)
  • 配置文件里SwaggerPath不要设置,也不要使用SetSwaggerPath
posted @ 2025-08-06 16:25  代码小伙  阅读(20)  评论(0)    收藏  举报