Javaで実装したREST APIをHerokuにデプロイするときに少し迷ったため、今後のためにひな形としてサンプルアプリを作成しました。
ポイント
Herokuのドキュメントに紹介されているWebapp Runnerを使ってアプリケーションを実行する。
参考:https://devcenter.heroku.com/articles/java-webapp-runnerJerseyではJAXB(JSONのシリアライズ・デシリアライズ)のライブラリにMOXyをを推奨しているが、Moxyは内部クラスやHashMapへのデシリアライズができないためJacksonを利用する。
参考:https://jersey.java.net/documentation/latest/media.html#json.moxy
http://stackoverflow.com/questions/29322605/how-to-return-a-json-object-from-a-hashmap-with-moxy-and-jerseyResourceクラスやObjectMapperの設定はResourceConfigでできる。
(/src/main/java/com/example/ResourceConfig.java)ResouceConfigクラスはweb.xmlのinit-param(javax.ws.rs.Application)で指定する。
ローカルで実行する
JDKをインストールする。
参考:http://qiita.com/ko2a/items/69fa8a5366d7449500caMavenをインストールする。
参考:http://qiita.com/ko2a/items/15343ea8fae4233e9438アプリをビルドする。
maven clean package
- Web Runnerを起動する。
java -jar target/dependency/webapp-runner.jar target/*.war