ОПУБЛИКОВАТЬ запрос в Playframework Java

#java #playframework

#java #playframework

Вопрос:

Привет, в моем приложении playframework я хочу выполнить простой запрос Post.

Итак, я определил в своем маршруте это:

 POST        /printName                              @controllers.Index.printName()
  

Так же, как я делаю это в scala.

Тогда у меня есть следующая функция контроллера:

 public Result printName(Http.Request request) {
    JsonNode json = request.body().asJson();
    return ok("Got name: "   json.get("name").asText());
}
  

Итак, теперь компилятор возвращает:

отсутствуют аргументы для метода printName в индексе класса; следуйте этому методу с помощью `_’, если вы хотите рассматривать его как частично применяемую функцию

Когда я добавляю параметр в маршрут, подобный этому:

 POST        /printName                  @controllers.Index.printName(request: Request)
  

Затем я получил эту ошибку

не найдено: введите запрос

Как это было бы правильно? Пример взят со страницы Playframework:https://www.playframework.com/documentation/2.7.x/JavaBodyParsers#The-default-body-parser

Заранее спасибо.

Ответ №1:

Я нашел решение:

функция контроллера

 public Result printName() {
    Http.Request request = request();
    JsonNode json = request.body().asJson();
    return ok("Got name: "   json.get("name").asText());
}
  

и маршрут

 POST        /printName              @controllers.Index.printName()