我正在Micronaut中实现一个声明性客户端,如下所示:
@Get("/dostuff{?requestObject*}")
fun getStuff(requestObject: MyRequestObject): String
MyMyRequestObject已通过Javax.Validation验证,如下所示:
data class MyRequestObject(val anything: String) {
@AssertTrue
fun isValid() = true
}
现在,当我通过客户端发送请求时,
requestObject
的值将生成以下查询/?anything=helloworld&valid=true
。我需要从查询的isValid
函数中排除该值。现在我有两个问题
valid
字段? 最佳答案
URL的扩展在此处进行:https://github.com/micronaut-projects/micronaut-core/blob/7cd78cf8b03cc78ac31bc2c262e86eae6edd58f0/http/src/main/java/io/micronaut/http/uri/UriTemplate.java#L202
通过自省(introspection)api或反射,将检查该类并将其转换为 map 。当前,无法以这种方式排除属性。请提出问题以建议对此功能进行改进。
关于kotlin - 忽略用于声明性客户端URI参数的类型转换的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55967185/