我使用Play! Framework 2.0和我在這個框架中是新的。我怎樣才能返回我的模型的JSON表示在白色的HTML頁面?玩!框架返回json響應
我在做什麼是
public static void messagesJSON(){
List<Message> messages = Message.all();
renderJSON(messages);
}
,但我得到錯誤:無法使用返回單位爲處理器
我使用Play! Framework 2.0和我在這個框架中是新的。我怎樣才能返回我的模型的JSON表示在白色的HTML頁面?玩!框架返回json響應
我在做什麼是
public static void messagesJSON(){
List<Message> messages = Message.all();
renderJSON(messages);
}
,但我得到錯誤:無法使用返回單位爲處理器
您所使用的方法是從播放1.x的一種方法,它稍Play 2.0中有所不同。從文檔,這裏是如何從你所問的是,它返回一個JSON ObjectNode
的return ok(result)
回覆sayHello
JSON請求
@BodyParser.Of(Json.class)
public static Result sayHello() {
ObjectNode result = Json.newObject();
String name = json.findPath("name").getTextValue();
if(name == null) {
result.put("status", "KO");
result.put("message", "Missing parameter [name]");
return badRequest(result);
} else {
result.put("status", "OK");
result.put("message", "Hello " + name);
return ok(result);
}
}
這樣做的重要組成部分,一個例子。
創建一個從您的列表中的新型號:
public static Result getBusinesses(){
List<Business> businesses = new Model.Finder(String.class, Business.class).all();
return ok(Json.toJson(businesses)); //displays JSON object on empty page
}
在Business.java類我有一個靜態變量:
public static Finder<Long,Business> find = new Finder(Long.class, Business.class);
這將顯示添加路由後,在localhost上的JSON對象:9000/getBusinesses :
GET /getBusinesses controllers.Application.getBusinesses()
這是什麼意思「索引」作爲返回類型?在我看來,編譯器不明白它,@BodyParser也錯誤(類型不匹配)這個代碼適合你嗎?或者你能否顯示進口和更多更廣泛的可供參考的情況。 – Stas
@Stas,源文檔中存在拼寫錯誤,它應該在Play 2.0控制器中返回'Result'作爲每個'action'。 – biesior
好點@馬庫斯。並感謝您更新Github上的文檔。 – Codemwnci