Estoy usando el Juego! Framework 2.0 y soy nuevo en este marco. ¿Cómo puedo devolver sólo una representación json de mi modelo en blanco de la página html?

Lo que estoy haciendo es

public static void messagesJSON(){  
   List<Message> messages = Message.all();  
   renderJSON(messages);  
}

Pero me da el Error : No se puede utilizar un método de devolución de la Unidad como un Controlador de

OriginalEl autor Stas | 2012-06-23

3 Comentarios

  1. 11

    El método que utiliza es del Juego 1.x es ligeramente diferente en el Juego 2.0. A partir de la documentación, aquí es un ejemplo de cómo responder a una sayHello petición 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);
      }
    }

    La parte importante de esto de lo que están pidiendo es el return ok(result) que devuelve un JSON ObjectNode.

    ¿Qué significa «índice» como un tipo de retorno? A mí me parece que el compilador no lo entiendo, @BodyParser también el error (tipo de desajuste) ¿este código funciona para usted? O podría mostrar las importaciones y más imagen más amplia de veriables.
    hubo un error tipográfico en la fuente docs, debe devolver Result como cada action en Juego 2.0 controlador.
    Buen lugar @Marcus. Y gracias por la actualización de la documentación en Github así.

    OriginalEl autor Codemwnci

  2. 37

    ¿
    return ok(Json.toJson(Moments.all());

    Esto es mucho más útil responder ya que automáticamente deja a todo el gráfico del objeto en json en lugar de tener que crear manualmente objetos json como se muestra en la documentación.
    Yo creo que se puede personalizar la estructura JSON a través Jackson anotaciones.
    Agregar una referencia de la clase:
    importación de jugar.libs.Json @Alex ?
    Ok no ok primero mayúsculas O.

    OriginalEl autor Sudhir

  3. 2

    Crear un nuevo Modelo de su lista:

    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
    }

    En el Business.java clase tengo una variable estática:

    public static Finder<Long,Business> find = new Finder(Long.class, Business.class);

    Esto mostrará el objeto JSON en localhost:9000/getBusinesses
    después de agregar la ruta:

    GET      /getBusinesses   controllers.Application.getBusinesses()

    OriginalEl autor Connor Leech

Dejar respuesta

Please enter your comment!
Please enter your name here