Spring Cloud Config 和静态内容

Spring Cloud Config and static content

我有一个应用程序使用 Spring 云配置 (--spring.profiles.active=native) 并且还在同一个应用程序中提供一些 html 页面。一切都很好,直到我引入静态资源 (src/main/resources/css/bootstrap-switch.css)。 URL 对 http://localhost:8080/css/bootstrap-switch.css 的调用失败并出现此异常:

{"timestamp":1438114326940,"status":406,"error":"Not Acceptable","exception":"org.springframework.web.HttpMediaTypeNotAcceptableException","message":"Could not find acceptable representation","path":"/css/bootstrap-switch.css"}

当我禁用@EnableConfigServer 时,URL returns CSS 内容。我正在使用 Spring Cloud Config 版本 1.0.2。

这是可以重现此问题的极简代码:

    @SpringBootApplication
    @EnableConfigServer
    public class Application {
    public static void main(String args[]) {
      SpringApplication.run(ApplicationConfiguration.class, args);
    }
    }


    @Configuration
    @SpringBootApplication
    class ApplicationConfiguration {
      @Bean
      public TestController testController() {
        return new TestController();
      }
      @Bean
      public MvcController mvcController() {
        return new MvcController();
      }
    }


    @RestController
    class TestController {
      @RequestMapping("/test")
      @ResponseBody
      public String test() {
        return "hello world";
      }
    }

    @Controller
    class MvcController {
      @RequestMapping("/landing")
      public String landingPage() {
        return "landing";
      }
    }

配置服务器默认有一个 api 匹配 /*/*。您可以通过更改 spring.cloud.config.server.prefix=myroot.

来移动 api 的根