小编adi*_*ben的帖子

OData WebApi V4 .net-自定义序列化

我需要创建一个序列化器来支持以下所有任务:

  1. 删除空属性
  2. 删除空列表

我注意到的语法ODataMediaTypeFormatter已更改。

我在将我的Serialzation提供程序添加到管道时遇到了麻烦。

这是我尝试过的:

在WebApiConfig.cs上:

var odataFormatters = ODataMediaTypeFormatters.Create();
odataFormatters.Add(new MyDataMediaTypeFormatter());
config.Formatters.InsertRange(0, odataFormatters);
Run Code Online (Sandbox Code Playgroud)

另外,我创建了以下内容Odatameditatypeformatter

public class MyODataMediaTypeFormatter : ODataMediaTypeFormatter
{
    static IEnumerable<ODataPayloadKind> payloadKinds = new List<ODataPayloadKind>
    {

        ODataPayloadKind.Asynchronous,
        ODataPayloadKind.Batch,
        ODataPayloadKind.BinaryValue,
        ODataPayloadKind.Collection,
        ODataPayloadKind.EntityReferenceLink,
        ODataPayloadKind.EntityReferenceLinks,
        ODataPayloadKind.Error,
        ODataPayloadKind.Delta,
        ODataPayloadKind.IndividualProperty,
        ODataPayloadKind.MetadataDocument,
        ODataPayloadKind.Parameter,
        ODataPayloadKind.Resource,
        ODataPayloadKind.ServiceDocument,
        ODataPayloadKind.Unsupported,
        ODataPayloadKind.Value
    };

    public MyODataMediaTypeFormatter() : base(payloadKinds)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

当前,我检查了所有基本方法,在向我的OData控制器创建Get / Post请求时,它们似乎都没有碰到断点。

有人设法在新版本的Microsoft.Aspnet.OData 7.0.1上做到这一点吗?

.net c# asp.net serialization odata

5
推荐指数
1
解决办法
449
查看次数

标签 统计

.net ×1

asp.net ×1

c# ×1

odata ×1

serialization ×1