À l'aide de json avec la Play 2

Je suis en train de créer une application simple qui me permet de créer, lire, mettre à jour et supprimer des différents utilisateurs. J'ai une INTERFACE utilisateur de base, vue, contrôleur et le modèle de travail, mais je voulais être plus avancé que ce et de fournir une bonne interface json.

Cependant, en dépit de lire tout ce que je peux trouver dans la pièce 2 de la documentation, de la Play 2 groupes Google et le site stackoverflow, je ne peux toujours pas obtenir que cela fonctionne.

J'ai mis à jour mon contrôleur basé sur les précédents commentaires et je crois qu'il est basé sur la documentation.

Voici ma mise à jour du contrôleur:

package controllers;

import models.Member;

import play.*;
import play.mvc.*;
import play.libs.Json;
import play.data.Form;

public class Api extends Controller {

/* Return member info - version to serve Json response */
public static Result member(Long id){
  ObjectNode result = Json.newObject();
  Member member = Member.byid(id);
    result.put("id", member.id);
    result.put("email", member.email);
    result.put("name", member.name);
    return ok(result);
}

//Create a new body parser of class Json based on the values sent in the POST
@BodyParser.Of(Json.class)
public static Result createMember() {
    JsonNode json = request().body().asJson();
    //Check that we have a valid email address (that's all we need!)
    String email = json.findPath("email").getTextValue();
    if(name == null) {
        return badRequest("Missing parameter [email]");
    } else {
        //Use the model's createMember class now
        Member.createMember(json);
        return ok("Hello " + name);
    }
}

....

Mais lorsque je l'exécute, j'obtiens l'erreur suivante:

incompatible types [found: java.lang.Class<play.libs.Json>] [required: java.lang.Class<?extends play.mvc.BodyParser>]
In /Users/Mark/Development/EclipseWorkspace/ms-loyally/loyally/app/controllers/Api.java at line 42.

41  //Create a new body parser of class Json based on the values sent in the POST
42  @BodyParser.Of(Json.class) 
43  public static Result createMember() {
44      JsonNode json = request().body().asJson();
45      //Check that we have a valid email address (that's all we need!)
46      String email = json.findPath("email").getTextValue();

Aussi loin que je peux dire, j'ai copié à partir de la la documentation donc j'apprécierais toute aide dans l'obtention de ce travail.

OriginalL'auteur mstreffo | 2012-05-06