this tutorialの後に、私のAngular2アプリケーションをSpringブートバックエンドに統合し、コンパイル済みのJSリソースを/ uiサブディレクトリに配置することに成功しました。すべて基本的にうまくいきますが、Angular2アプリケーションはのappname/ui URLからアクセスできます。同じサーバー上のSpringブート+ Angular2
しかし、私は/UIパスの子供たちは、のように、現在インターセプトに/UI/*をターゲットにすべての要求を春のURL「パススルー」に春を告げるする方法があるかどうかを知りたいのですがAngular2 Routerが/uiパスのリソースに適切にナビゲートしないようにします。
現在、私は唯一の私のコントローラの一つで、このマッピングを持っています。これにより
@RequestMapping(value = "/ui")
public String uiIndex() {
return "/ui/index.html";
}
、インターフェースが正しく/UIで現れますが、春には、その下のすべてのために私のエラーと404エラーを送信します私はそれらを直接ブラウザからアドレス指定します。 Angular2アプリ内のルーターナビゲーションは完全に機能します。明確にするよう
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<includes>
<include>*.properties</include>
<include>templates/*.*</include>
</includes>
</resource>
<resource>
<directory>target/ui</directory>
<targetPath>static/ui</targetPath>
</resource>
を:私は(私のプロジェクトは、Mavenのビルドを使用しています)、この設定を使用してターゲット/ UIから静的/ UIフォルダにコンパイルAngular2リソースを追加している
EDIT
唯一の問題は、/ui/home/settingsのようにブラウザにURLを入力すると、Springが要求をインターセプトしてエラーをスローすることです。私は喜んで/ uiに、そして/ home/settingsにAngularコンテクストでうまく行くことができます。
Springブートアプリケーションの静的リソースの標準的な場所は、src/main/resources/staticにあります。あなたのAngularリソースをそこに置くだけで、Spring Bootがそれらを提供します。 –
'/ **'で終わるマッピングが必要な場合があります。 – chrylis
https://github.com/spring-guides/tut-spring-security-and-angular-js/blob/master/modular/README.adocを見たことがありますか? – EpicPandaForce