如何在Web API 2中实现MongoDB Bson格式化程序?

阿德里安·罗斯卡(Adrian Rosca)

我有一个Web API 2项目,我的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的序列化,因此我可以[BsonElement("name")]在模型类中使用诸如属性等属性。

我环顾四周,发现这篇文章http://odetocode.com/blogs/scott/archive/2013/09/30/custom-serialization-with-json-net-webapi-and-bsondocument.aspx,但似乎有点过时了我无法使它正常工作。

我暂时还很困,不胜感激。

乔塔贝

您需要实现并注册自定义媒体格式化程序。基本上,您需要这样做:

  • MediaTypeFormatter(异步读/写实现)或BufferedMediaTypeFormatter(同步读/写实现) 派生一个类
    • 在类构造函数中声明BSON格式支持的MIME类型
    • 实现CanWriteType+WriteToStream和/或CanreadType+ReadFromStream
  • 在Web API配置中注册媒体格式化程序类

考虑到将使用格式化程序:

  • Content-Type标头中指定媒体格式时解析接收到的数据(这是实现的“读取”部分)
  • Accept标头指定了媒体格式时,序列化返回的对象(这是实现的写部分)

您可以查看以下示例,也可以在Google上查找“ Web API自定义媒体格式化程序”以获取更多信息和示例:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ServiceStack中实现JSONP格式化程序

来自分类Dev

如何在ServiceStack中实现JSONP格式化程序

来自分类Dev

对Web API 2使用自定义JSON格式化程序

来自分类Dev

在ASP.Net Web API中,如何更改特定控制器或操作的默认格式化程序

来自分类Dev

ASP.NET Web API格式化程序

来自分类Dev

使用WEB API媒体格式化程序时,特殊字符在excel中不起作用

来自分类Dev

如何在Web Api中使用具有特定路由的特定媒体格式化程序

来自分类Dev

如何在自定义工具提示格式化程序中自动格式化日期?

来自分类Dev

WEB API 是如何在JS 中实现的?

来自分类Dev

如何在MongoDB中实现UNION结果并重新格式化

来自分类Dev

格式化来自Web API的响应

来自分类Dev

Web API FB OAuth?如何在SPA应用程序中实现它?

来自分类Dev

在功能组件中,如何在单个函数中重新格式化多个变更处理程序?

来自分类Dev

如何在 Slick 网格自定义单元格格式化程序中应用自定义 Fliter 格式化程序

来自分类Dev

如何在Python日志格式化程序中添加自定义参数?

来自分类Dev

如何在Google Visualization中结合数字和模式格式化程序?

来自分类Dev

如何在不同的源代码文件中组织格式化程序

来自分类Dev

如何在jboss日志记录的模式格式化程序中自定义时间戳

来自分类Dev

如何在D3格式化程序中禁用某些SI前缀?

来自分类Dev

如何格式化对GitHub API的请求

来自分类Dev

如何格式化docker API?

来自分类Dev

我如何格式化休息 api

来自分类Dev

如何在Struts 2中格式化货币?

来自分类Dev

如何在Struts 2中格式化货币?

来自分类Dev

如何在Play 2中将格式化程序应用于唯一表单?

来自分类Dev

如何使用变量名实现字符串格式化程序

来自分类Dev

在Pentaho Kettle中,如何为Google Analytics(分析)API的参数生成格式化日期?

来自分类Dev

在浏览器中查看时,Facebook如何格式化其API的JSON输出?

来自分类Dev

在Pentaho Kettle中,如何为Google Analytics(分析)API的参数生成格式化日期?

Related 相关文章

  1. 1

    如何在ServiceStack中实现JSONP格式化程序

  2. 2

    如何在ServiceStack中实现JSONP格式化程序

  3. 3

    对Web API 2使用自定义JSON格式化程序

  4. 4

    在ASP.Net Web API中,如何更改特定控制器或操作的默认格式化程序

  5. 5

    ASP.NET Web API格式化程序

  6. 6

    使用WEB API媒体格式化程序时,特殊字符在excel中不起作用

  7. 7

    如何在Web Api中使用具有特定路由的特定媒体格式化程序

  8. 8

    如何在自定义工具提示格式化程序中自动格式化日期?

  9. 9

    WEB API 是如何在JS 中实现的?

  10. 10

    如何在MongoDB中实现UNION结果并重新格式化

  11. 11

    格式化来自Web API的响应

  12. 12

    Web API FB OAuth?如何在SPA应用程序中实现它?

  13. 13

    在功能组件中,如何在单个函数中重新格式化多个变更处理程序?

  14. 14

    如何在 Slick 网格自定义单元格格式化程序中应用自定义 Fliter 格式化程序

  15. 15

    如何在Python日志格式化程序中添加自定义参数?

  16. 16

    如何在Google Visualization中结合数字和模式格式化程序?

  17. 17

    如何在不同的源代码文件中组织格式化程序

  18. 18

    如何在jboss日志记录的模式格式化程序中自定义时间戳

  19. 19

    如何在D3格式化程序中禁用某些SI前缀?

  20. 20

    如何格式化对GitHub API的请求

  21. 21

    如何格式化docker API?

  22. 22

    我如何格式化休息 api

  23. 23

    如何在Struts 2中格式化货币?

  24. 24

    如何在Struts 2中格式化货币?

  25. 25

    如何在Play 2中将格式化程序应用于唯一表单?

  26. 26

    如何使用变量名实现字符串格式化程序

  27. 27

    在Pentaho Kettle中,如何为Google Analytics(分析)API的参数生成格式化日期?

  28. 28

    在浏览器中查看时,Facebook如何格式化其API的JSON输出?

  29. 29

    在Pentaho Kettle中,如何为Google Analytics(分析)API的参数生成格式化日期?

热门标签

归档