绑定可为空的参数

时间:2019-07-12 05:05:20

标签: 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) {
    ...
}

他们不是应该做同样的事吗?

提前感谢您的建议。

0 个答案:

没有答案