Micronaut автоматическое преобразование параметров HTTP-запроса - PullRequest
0 голосов
/ 11 января 2019

В настоящее время я пытаюсь настроить micronaut для автоматического преобразования параметров из http-запроса uri в pojos.

В частности, я хочу добиться чего-то такого:

@Controller
public class FooBarBazController {

    @Get("/{foo}/{bar}")
    public Baz doSomething(Foo foo, Bar bar) {
        return new Baz(foo, bar);
    }

}

Предполагая, что Foo и Bar могут быть построены из строкового значения.

Единственный ответ, который я получил от сервера, это

{
  "_links": {
    "self": {
      "href": "/forever/young",
      "templated": false
    }
  },
  "message": "Required argument [Foo foo] not specified",
  "path": "/foo"
}

Я уже пробовал следующее:

  • Определите @Factory, который регистрирует два бина: TypeConverter<String, Foo> и TypeConverter<String, Bar>
  • Определите параметры как @QueryValue("foo") и @QueryValue("bar") соответственно
  • Определите параметры как @PathVariable("foo") и @PathVariable("bar") соответственно

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

Кто-нибудь знает, как я могу инструктировать платформу для автоматического преобразования и связывания?

Спасибо.

1 Ответ

0 голосов
/ 11 января 2019

Если вы сможете использовать недавно представленный @PathVariable в версии 1.0.3, у вас все будет готово.

...