Asp.Net-Core 2.1:使用自定义IInputFormater的ModelState错误

时间:2018-08-09 19:57:29

标签: asp.net-core asp.net-core-webapi modelstate

我要解决的问题是我需要支持有效载荷格式,但是底层模型已经发生了巨大变化。

为此,我了解了自定义ModelBinderInputFormater和一些不同的主题,我保留的是,由于Content-Type将是application/jsonJsonInputFormatter会处理它,不知道如何转换它,因此会将空模型传递给API方法。

然后,我决定实现一个自定义InputFormatter,它将仅处理该Content-Type的模型类型,并进行自定义反序列化。

我遇到的问题是,如果自定义反序列化中存在错误,我必须致电InputFormatterResult.FailureAsync(),这不允许我将信息传递回呼叫者以告诉他出了什么问题。如果我使用默认的JsonInputformatter,则可以在控制器中向调用者显示模型状态错误(ModelState.Values的Errors属性),但是找不到实现此目的的方法。

我的问题:如何使用自定义IInputFormatter时遇到的错误?

注意:如果我只是没有使用正确的工具进行自定义反序列化,则任何指向正确方向的指针都将受到赞赏。

0 个答案:

没有答案