2016-09-14 20 views
0

私はすでに検索に努力していますが、次のような状況では特定の解決策を見つけることができませんでした。異なるコンテキストパスで静的ファイル(index.html)とRESTサービスを提供する方法

私は@RequestMapping("user")アノテーションを使用ユーザーサービスを書かれています。エンドポイントURLは

http://localhost:8080/user 

のように見えます。しかし、私はserver.context-path=/myServicesを設定することによってそれを行う可能性があり、また、同じアプリケーション内にある他のサービスは、同じURLパターンの例に従ってください

http://localhost:8080/myServices/user 

のようなサービスを公開します。

http://localhost:8080/myServices/OTHERENDPOINT 

は、しかし、また、私は、このデフォルトのURL

http://localhost:8080 

デフォルトcontext-path(/)を使用する場合、これは達成可能であるが、その後、あなたが使用することはできません「/ myServices」でresources\static\フォルダの下にある静的なコンテンツファイルindex.htmlにアクセスしたいですURLの接頭辞。

私はSpring boot 1.3.3注釈ベース(no xml)の実装を使用しています。このような状況を達成する方法はありますか?

答えて

0

@RequestMapping("myServices/user")でユーザーサービスに注釈を付けることができます。

+0

用のHTML

ありがとうございました。しかし、私はすべてのサービスを '/ myService' URLの下に' user'サービスだけでなく配置する必要があります。 http:// localhost:8080/myServices/OTHERSERVICE –

+0

ドキュメントには、context-pathが静的コンテンツを含む「アプリケーションのコンテキストパス」であることが記載されています。私はすべてのRestControllerに "/ myService"を追加しますが、誰かがより良い解決策を知っているかもしれません。 –

0

フロントエンドとしてApache HTTPDなどのWebサーバーを設定した場合は、静的コンテンツを指すmod_proxyを使用してApacheから直接静的コンテキストを提供することができます。

他の方法は、ドメイン名http://my.domain.orgだけでコンテンツを提供するようにROOT.warとしてアプリを公開することです。すでに言われているように、@RequestMapping("/services/user")のサービスをマップします。資源化

+0

ご返信ありがとうございます。しかし、私はHTTPDを使っていませんし、 '@RequestMapping("/myServices/user ")'を書いてすべてのサービスをマッピングすると、それはうまく見えません。 –

+0

接頭辞/ myServices/*を使用すると、うまく見えないのはなぜですか? – jlumietu

+0

これは一度設定してすべてのサービスに適用するのに良い機能があることを意味します。 –

0

、すべての静的コンテンツと、 "静的" フォルダを追加し、例えば

/yourapp

/srcに/メイン/ javaの/ RestControllers

/srcに/メイン/リソース/yourapp.properties

/srcに/メイン/リソース/静的

/views/home.html

/other_resources

MVNスプリングブート:/ビュー/家庭:

http://localhostを実行します。REST @RestController with @RequestMapping

関連する問題