2015-01-08 2 views
2

내 프로젝트에서 클래스 경로의 루트에 index.html 파일이있는 swagger-ui 라이브러리를 사용합니다. 이런 식으로이 index.html/과 같은 루트 URL을 누를 때 내 앱의 시작 페이지가됩니다.
하지만 내 사용자 지정 Groovy 템플릿 을 내 부팅 프로젝트의 resources/templates 폴더에서 사용하고 싶습니다. 이러한 접근 방식을 적용하면 Swagger-UI JAR 파일에서 여전히 index.html이 표시됩니다.스프링 부트 - webjar에서 색인 페이지 덮어 쓰기


jar에서 인덱스 페이지를 프로젝트의 사용자 정의 된 페이지로 대체하는 방법은 무엇입니까?

UPD : 아래 접근법이 저에게 효과적이지 않습니다. 404 오류를 반환합니다. 그런 다음 @EnableWebMvc 주석을 추가하고 Spring이 내 Groovy 템플릿을 찾을 수 없습니다. Groovy Template에 대한 클래스 패스에 필요한 모든 의존성이 있으며 속성 파일에서 켜져 있습니다. Spring이 Groovy Template을 전혀 해석 할 수없는 것처럼 보입니다.

답변

2

스프링 부트의 WebMvcAutoConfigurationAdapter는 기본적으로 (addStaticIndexHtmlViewController 메서드에서) "/"에서 "/index.html"로 전달을 등록합니다. 따라서 "/index.html"경로 아래에 뷰를 등록해야합니다.

는 컨트롤러 또는 함께 @RequestMapping("/index.html")으로 수행 할 수 있습니다

@Configuration 
public class WebConfig extends WebMvcConfigurerAdapter 
{ 
    @Override 
    public void addViewControllers(ViewControllerRegistry registry) 
    { 
     registry.addViewController("/index.html").setViewName("index"); 
    } 
} 

또 다른 옵션은 WebMvcAutoConfigurationAdapter을 무시하고 WebMvcAutoConfiguration을 사용하지 않도록하는 것입니다.

+0

감사합니다. @koe하지만이 방법은 저에게 적합하지 않습니다. 404를 반환합니다. 그러면'@ EnableWebMvc' 주석을 추가하고 Spring이 내 Groovy 템플릿을 찾을 수 없습니다. –

+0

첫 번째 옵션을 직접 사용해 보았습니다. override WebMvcAutoConfigurationAdapter를 사용하려고 시도 했습니까? – koe

+0

귀하의 도움에 감사드립니다! 그건 내 잘못이야. IntellijIdea가 Groovy 템플릿을 식별하는 데 문제가 있고 내 Groovy 뷰를 해결할 수없는 것 같습니다 ( –