micronaut - 绑定可为空的参数
问题描述
考虑以下(简化)形式
<form id="simple-form" action="/requests" method="post" enctype="multipart/form-data" >
<input type="hidden" name="providerId" value="{{providerId}}" />
<button type="submit">Submit</button>
</form>
当此表单提交时没有提供 providerId 值,如果方法参数是 Optional,则正确绑定
@Post(uri="/requests", consumes=MediaType.MULTIPART_FORM_DATA)
@Transactional
public HttpResponse doSimple(@Body Optional<Long> providerId) {
...
}
但如果我使用@Nullable 注释则失败(带有此错误消息:“无法为值 [] 转换参数 [providerId],原因是:对于输入字符串:\"\"")
@Post(uri="/requests", consumes=MediaType.MULTIPART_FORM_DATA)
@Transactional
public HttpResponse doSimple(@Body @Nullable Long providerId) {
...
}
他们不应该采取同样的行动吗?
提前感谢您的建议。
解决方案
推荐阅读
- listview - 在 Flutter 中,调用 Navigator.pop(context) 时 ListView.builder 会闪烁刚刚显示的图像,为什么?
- python - 是否可以递归地在 Leetcode 上实现问题 #171?
- html - 如何为我的应用程序存储 JSON 数据
- javascript - 使用 ECB 模式的 CryptoJS AES 加密使用相同的参数产生不同的结果
- visual-studio-code - 如何更改 vscode 侧边栏字体系列
- r - 如何在 Rmarkdown 中更改参考书目样式?
- angular - 测试中的角度路由器链接路由错误
- python - Pandas 相关矩阵未包含 csv 文件中的所有列
- laravel - Laravel 上的未定义变量
- c++ - 编译器如何允许用户定义运算符 new