【发布时间】:2019-09-21 01:27:42
【问题描述】:
我正在实现一个带有 GET 端点的控制器,它应该接收以下请求:/mycontroller?myDate=2019-05-01
我的数据类是这样的
data class MyData(
val myDate: LocalDate
)
还有我的控制器:
@Controller
class MyController {
@Get("{?mydata*}")
fun getMyEndpoint(mydata: MyData)...
}
Micronaut 仅在我为 MyData 提供默认构造函数的情况下绑定请求,从而使 myDate 可以为空或提供默认值 - 这些都不是我想要做的。
有没有办法在不提供默认构造函数的情况下让它工作?杰克逊例如也能应付。
谢谢:)
【问题讨论】:
-
“我希望有一种方法可以直接绑定对象本身,而无需手动重新创建对象:”什么意思?具体是什么不起作用?
-
“我正在实现一个带有 GET 端点的控制器,它应该接收以下简化数据:” - 为什么要使用
GET请求将 JSON 发送到服务器? -
在我的实际应用程序中,我的 GET 中有大约 8-10 个参数,我必须手动将它们组合到一个对象中。我希望有一种类似 Spring 的方法可以将对象本身绑定到请求,就像你在 Spring 中可以做的那样。它也适用于日期和嵌套对象:blog.codecentric.de/en/2017/08/… 和 stackoverflow.com/questions/16942193/…。 @JeffScottBrown 我将编辑我的问题以使其更清楚。
-
没用过Micronaut,但我花了20秒才找到这个,这似乎准确地描述了你想要做什么:docs.micronaut.io/latest/guide/index.html#binding