ROR には慣れていますが、Java 環境で RESTfull WebService を作成する必要があります。そこで、Play! で試してみることにしました。それは本当に素晴らしいアイデアのように見えるからです。
だから私はそれらの指示に従って行われた既存のfirstappにJSONを追加する方法を見つけようとしています: http://www.playframework.org/documentation/2.0.3/JavaTodoList
私が欲しいのは、RORと同様に機能するものです。少なくとも、次の方法で JSON サポートを依頼できるようにしたいと考えています。
- .json URL の呼び出し
- 「Accept: application/json」ヘッダーを使用
だから私はそのような汚いことを試しました:
JsonNode json = request().body().asJson();
if(json != null) {
return ok(Json.toJson(Task.all()));
}
return ok(
views.html.index.render(Task.all(), taskForm)
);
そして、それは明らかに現在機能していません...
クライアントが必要としているタイプを検出する必要があります。私は何人かの人々がそのような汚れたルートを追加しているのを見ました:
POST /bars BarController.index()
GET /bars.json BarController.indexJSON()
しかし、ヘッダーを使用してjsonリクエストを指定するクライアントを明らかにサポートしていません...
したがって、必要なのは、コンテンツ タイプまたは Accept application/json を指定するヘッダーがあるかどうかを確認する何らかの方法です。その場合、BarController.index() は BarController.indexJSON() を返します...
全体として、ROR とほとんど同じです。
respond_to do |format|
format.html # index.html.erb
format.json { render json: @bars }
end
概して :
私よりも同じ理屈で終わりを迎えた人はいますか?