Игнорировать свойство для преобразования типов декларативного аргумента URI клиента - PullRequest
1 голос
/ 03 мая 2019

Я реализую декларативный клиент в Micronaut, который выглядит следующим образом:

@Get("/dostuff{?requestObject*}")
fun getStuff(requestObject: MyRequestObject): String

Мой MyRequestObject проверяется с помощью Javax.Validation и выглядит так:

data class MyRequestObject(val anything: String) {

    @AssertTrue
    fun isValid() = true
}

Когда я сейчас отправляю запрос через клиента, значение из requestObject создает следующий запрос /?anything=helloworld&valid=true.Мне нужно исключить значение из функции isValid из запроса.

Теперь у меня есть два вопроса

  1. Какой механизм используется Micronaut для «десериализации»объект?
  2. Как добиться, чтобы поле valid не было включено в запрос?

1 Ответ

1 голос
/ 03 мая 2019

Расширение URL происходит здесь: https://github.com/micronaut-projects/micronaut-core/blob/7cd78cf8b03cc78ac31bc2c262e86eae6edd58f0/http/src/main/java/io/micronaut/http/uri/UriTemplate.java#L202

Либо с помощью API-интерфейса самообследования или отражения класс проверяется и преобразуется в карту.В настоящее время нет способа исключить свойства таким способом.Пожалуйста, сообщите о проблеме, чтобы предложить улучшение этой функции.

...