Json 如何在Web API 2中实现MongoDB Bson格式化程序?
我有一个Web API 2项目,我的Json 如何在Web API 2中实现MongoDB Bson格式化程序?,json,mongodb,asp.net-web-api,asp.net-web-api2,Json,Mongodb,Asp.net Web Api,Asp.net Web Api2,我有一个Web API 2项目,我的WebApiConfig如下所示: public static class WebApiConfig { public static void Register(HttpConfiguration config) { config .MapHttpAttributeRoutes(); config .Formatters .JsonFor
WebApiConfig
如下所示:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config
.MapHttpAttributeRoutes();
config
.Formatters
.JsonFormatter
.SupportedMediaTypes
.Add(new MediaTypeHeaderValue("text/html"));
}
}
这很好,但我希望json被解析为“Mongo DB样式”,以便自动获得ObjectID的序列化,这样我就可以在模型类中的属性上使用诸如[bsonement(“name”)]
等属性
我环顾四周,发现这篇文章,但它似乎有点过时,我无法让它工作
我现在非常困惑,非常感谢您的帮助。您需要实现并注册一个自定义媒体格式化程序。基本上,您需要这样做:
- 从
(异步读/写实现)或MediaTypeFormatter
(同步读/写实现)派生类BufferedMediaTypeFormatter
- 在类构造函数中声明BSON格式支持的MIME类型
- 实现
+CanWriteType
和/或WriteToStream
+CanreadType
ReadFromStream
- 在Web API配置中注册媒体格式化程序类
- 当在
标题中指定媒体格式时(这是实现的读取部分),解析接收到的数据内容类型
- 使用
头指定媒体格式时序列化返回的对象(这是实现的写入部分)Accept