Spring Cloud Config和静态内容

时间:2015-07-28 20:53:39

标签: java spring-mvc spring-boot spring-cloud

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

{"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返回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";
      }
    }

1 个答案:

答案 0 :(得分:4)

默认情况下,配置服务器的api与spring.cloud.config.server.prefix=myroot匹配。您可以通过更改{{1}}来移动API的根目录。