Odata Post Collection FromBody

时间:2019-12-09 19:30:33

标签: asp.net-core odata

我正在通过从aspnet转换为aspnetcore来重建API。对于我来说,不幸的是,通常在Odata上遇到了麻烦,我不得不做出的让步之一是将一些路线迁移到OData,因为OData和标准API的混合物并不兼容于Sagger。

无论如何,一种这样的方法(剩下的最后一种)具有以下签名

    [HttpPost]
    public IActionResult PostChanges([FromBody] ICollection<BulkEditDTO> changeSet)
    {
        if (!ModelState.IsValid)
        {
            var error = ModelState.Values.Select(x => x.Errors).FirstOrDefault();
            return BadRequest(ModelState);
        }

        //TODO:Get data?

    }

对象

public class BulkEditDTO
{
    [Key]
    [DataMember]
    public int Id { get; set; }

    [DataMember]
    public SomeDTO Changes { get; set; }
}

现在,我觉得我已经尝试了我能想到的功能,复杂类型,动作和ODataActionParamaers的每种组合-但我似乎无法解决这个问题。我什至尝试了一个简单的DTO,它具有可枚举的属性,但是遇到了“需要钥匙”的问题。

我尝试过的许多研究都将我引向了这条路:

https://github.com/OData/WebApi/issues/1873

那不是完全一样,因为那是寻找标题,而我试图使用主体。

有实际的解决方法吗?

0 个答案:

没有答案