我习惯做 ROR,但我需要在 Java 环境中创建一个 RESTfull WebService。所以我决定用 Play 试试看!因为它看起来真的是个好主意。
所以我试图找到一种方法将 JSON 添加到我已经存在的 firstapp 中,按照这些说明完成:http ://www.playframework.org/documentation/2.0.3/JavaTodoList
我想要的是与 ROR 类似的东西。至少,我希望能够通过以下方式请求 JSON 支持:
- 调用 .json URL
- 使用“接受:应用程序/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 请求...
所以,我需要的是某种方式来找出是否有任何 Header 指定内容类型或接受应用程序/json。如果是这样,BarController.index() 将返回 BarController.indexJSON()...
总而言之,它与 ROR 非常相似:
respond_to do |format|
format.html # index.html.erb
format.json { render json: @bars }
end
总而言之 :
有没有人经历过和我一样的推理并走到了尽头?