Игра с обратной маршрутизацией с полезной нагрузкой POST

У меня есть следующий вариант использования, когда я хотел использовать обратную маршрутизацию.

    Project 
      com.xyz.controllers
       --> Hello.java
          -- Result sayHello();
       --> HelloWrapper.java
          -- wrapSayHello()

Ниже приведен файл маршрутов:

     POST           /hello                 @com.xyz.controllers.Hello.sayHello()

sayHello ожидает тело JSON в запросе к нему и читает его, используя request().body().asJson()

Как можно использовать обратную маршрутизацию и отправить некоторую полезную нагрузку в запросе. Я вижу, что, используя обратную маршрутизацию в методе wrapSayHello(), я могу вызвать метод следующим образом.

     routes.Hello.sayHello()

но я понятия не имею, как отправить json в тело запроса, как ожидает исходный метод

Любые мысли будут полезны..


person hackmabrain    schedule 16.07.2015    source источник
comment
Вы что-нибудь нашли по этому поводу? @hackmabrain   -  person Arpit Suthar    schedule 07.10.2016


Ответы (1)


Немного поздно для вечеринки, тем не менее, это может быть полезно для некоторых других людей.

jsRoutes.controllers.Hello.sayHello().ajax({
    data: JSON.stringify( jsonObject ),
    contentType: "application/json; charset=utf-8",
    success : function(data) {
    },
    error : function(error) {
        console.log("error: " + error);
    }
});

Метод контроллера:

@BodyParser.Of(BodyParser.Json.class)
public Result sayHello() {
    JsonNode json = request().body().asJson();
    logger.debug(" JSON Stuff received : " + Json.prettyPrint(json));
    return ok();
}
person SysHex    schedule 08.02.2018