2016-03-30 2 views
0

Jersey JAX-RS REST API applicationは、Grizzlyコンテナの上で実行されるのとほぼ同じです。 REST APIを使用するAngularJSアプリを持つsrc\main\webappフォルダのコンテンツをマップ/ホストする必要があります。 REST APIはグリズリーの助けを借りてMainにブートストラップされ瞬間AngularJSフロントエンドをJAX-RS REST APIと同じサーバーに公開するためのオプションは何ですか?

GrizzlyHttpServerFactory.createHttpServer(....); 

同じサーバー上のREST APIとフロントエンドの両方を実行するためのオプションは何ですか? セットアップ方法は?

答えて

0

GrizzlyHttpServerFactory.createHttpServer(....);は、HttpServerというインスタンスを返します。これは、ネットワークリスナーとJersey httpハンドラで事前構成された汎用サーバーです。

このように、それは(ジャージーHTTPハンドラによって)のみのREST reuquestを処理していますが、Webアプリケーション(HTML、JS、CSSを、...)を処理するために、独自のHTTPハンドラを追加することがあります。

HttpServer server = GrizzlyHttpServerFactory.createHttpServer(....); 
server.getServerConfiguration().addHttpHandler(....) // add your handler here and map it to URL 

詳細はJersey source codeをご覧ください。

+0

https://github.com/AdamBien/nano/blob/master/nano/src/main/java/nano/Server.javaというこのマイクロHTTPサーバーフレームワークを使用すると便利な場合があります。たとえば、Server.javaをcreateHttpServer(...)によって返されたサーバとともに使用し、 'Contexts.create(server、p));を使用することができます。 – OndrejM