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 的根
我有一个应用程序使用 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
.