我有一个使用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";
}
}
答案 0 :(得分:4)
默认情况下,配置服务器的api与spring.cloud.config.server.prefix=myroot
匹配。您可以通过更改{{1}}来移动API的根目录。