我有一个Spring Boot应用程序,可以在正常情况下完美地映射静态内容。但是,当我添加一些映射,例如/{username}/{info}
,它将两个字符串参数添加到控制器时,由于/{username}/{info}
映射响应静态内容请求,它在加载静态内容时失败。
例如,我将静态文件映射为/css/bootstrap.css
等。但是/css/bootstrap.css
请求被发送到/{username}/{info}
映射,并且它们不会被加载。
这个问题有解决办法吗?我如何授权/css/*
映射?我如何将/css/sth.css
映射与/{username}/{info}
映射分开?
答案 0 :(得分:0)
您需要为CSS文件添加ResourceHandlerRegistry条目,并将它们存储在/ resources中:
https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot
答案 1 :(得分:0)
之前我曾尝试过ResourceHandlerRegistry,但它没有用。但是,我通过在/ static文件夹中再创建一个文件夹来解决问题。我在/ resources / static文件夹中添加了另一个名为“static”的文件夹,最终的层次结构就是这样,/ resources / static / static / css / *
顺便说一句,我可以使用“/ static / css / *”映射静态资源,它与“/ {username} / {info}”映射不冲突,因为我的静态url由3个字符串字段组成并且映射只接受2个字符串参数。
可能有更优雅的解决方案,但没有时间为我找到它。谢谢你的回复。