[SPRING] 봄 부팅시 알 수없는 요청을 index.html로 리디렉션
SPRING봄 부팅시 알 수없는 요청을 index.html로 리디렉션
나는 각도 응용 프로그램을 봄 부팅 웹 응용 프로그램을 통해 제공 받으려고합니다. 이 작업을 매우 간단하게 수행하는 방법에 대한 많은 예제를 발견했습니다.
https://spring.io/blog/2015/01/12/spring-and-angular-js-a-secure-single-page-application#using-spring-boot-cli
https://github.com/zouabimourad/angular2-spring/tree/master/front
https://github.com/ehirsch/spring-angular2
그러나 이러한 예제는 매우 간단하며 기본적으로 각도가되는 정적 컨텐츠를 표시하는 방법을 기본적으로 보여줍니다.
그들 중 누구도 Angular2 앱이 "실제"리소스에 매핑하지 않는 URL을 처리하는 방법을 보여줍니다 (경로라고 생각합니다).
예 : 우리는 Angular app에 "/ login"경로를 가지고 있지만이 경우 @ Controller / @ RequestMapping ( "/ login")이 없기 때문에 스프링이 index.html을 렌더링 할 때 "/ 로그인".
일반적으로 Spring이 실제 자원을 사용할 수 없을 때마다 "index.html"을 렌더링하길 원합니다. 어떤 요청에 매핑되거나 찾을 수없는 모든 요청에 대한 기본보기를 설정하는 방법이 있습니까?
htaccess 파일을 사용하여 이전에이 문제를 해결했으며 Apache에서이 문제를 처리했습니다.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.html [L]
ErrorDocument 404 /index.html
</IfModule>
하지만이 경우에는 아파치 나 nginx를 사용할 수 없습니다.
해결법
-
==============================
1.한 라운드를 마치면서 RequestMapping 주석에 Angular Routes를 추가하고 index.html에서 모두 지적했습니다.
한 라운드를 마치면서 RequestMapping 주석에 Angular Routes를 추가하고 index.html에서 모두 지적했습니다.
@RequestMapping({"/login", "/logout"}) public String index() { return "index.html"; }
편집 : 더 나은 일 라운드로서, 당신은 컨트롤러가 ErrorController를 구현하고, getErrorPath 메소드를 오버라이드 한 다음, catch-all (또는 missing missing) 메소드로 동작 할 / error에 대한 매핑을 추가 할 수 있습니다.
@Controller public class TheOneController implements ErrorController { @RequestMapping("/error") public String index() { return "index.html"; } @Override public String getErrorPath() { return "index.html"; } }
이제 index 메소드는 찾을 수없는 모든 것을 처리하고 index.html을 렌더링합니다.
from https://stackoverflow.com/questions/42865084/redirect-unknown-requests-to-index-html-in-springboot by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링에서의 동적 인 생성 (0) | 2019.02.27 |
---|---|
[SPRING] websocket 메시지에서 스프링 보안 및 액세스 원칙을 사용하는 안전한 Spring-Websocket (0) | 2019.02.27 |
[SPRING] 새 엔티티 + 연결 생성 중 작동하지 않음 (0) | 2019.02.27 |
[SPRING] 후행 슬래시는 Spring Boot 응용 프로그램에 삽입되지 않습니다. (0) | 2019.02.27 |
[SPRING] Spring Batch Job을 특정 순서 (Spring Boot)로 실행하는 방법? (0) | 2019.02.27 |