AspNet Core WebApi中的自定义模型绑定?
本文介绍了AspNet Core WebApi中的自定义模型绑定?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有人有使用多态模型绑定的自定义模型绑定的工作示例吗?我正在尝试this example(这是针对MVC而不是Api项目的),但它不适用于API项目。我认为在填充ValueProvider
方面缺少一些步骤,但我找不到任何与此相关的资源(AspNet Core 3.1)。
我到目前为止的尝试:
DTO:
自定义模型绑定器实现:
我按如下方式注册模型绑定器提供程序:
然后我的控制器:
我发布了一个json请求正文,如下所示:
真的很喜欢这方面的文档,因为有太多的魔力正在发生。我的备用方法是手动从请求中解析HttpContent并反序列化。但我希望使用模型活页夹方法,如示例中所示。我看到的唯一两件奇怪的事情是,bindingContext.ModelName
是空的,bindingContext.ValueProvider
只有一个包含action
和controller
键的路由值提供者。因此,它看起来甚至没有将主体解析为值提供程序。
JSON
当推荐答案数据不与模型bindingValue提供器子系统的其余部分交互时,将使用它。对于此场景,您必须为您正在使用的JSON库编写一个转换器。
详细信息:
- Microsoft docs: How to write custom converters for JSON serialization (marshalling) in .NET
- Newtonsoft docs: Custom JsonConverter
相关信息
- pranavkm's answer on GitHub(此答案归功于pranavkm)
- Polymorphic model binding in AspNetCore 3.1 Api
这篇关于AspNet Core WebApi中的自定义模型绑定?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!