gpt4 book ai didi

asp.net-web-api - Web API ODataResult 总是序列化为 Atom

转载 作者:行者123 更新时间:2023-12-03 20:20:59 24 4
gpt4 key购买 nike

我从新的 Web API OData package 返回一个 ODataResult如下:

public ODataResult<Product> Get(ODataQueryOptions options)
{
var results = (options.ApplyTo(_db.Products) as IQueryable<Product>);
var count = results.Count;
var limitedResults = results.Take(100).ToArray();
return new ODataResult<Product>(results,null,count);
}

上面的效果很好,但无论查询类型如何,它总是返回一个 Atom 响应。如何返回 JSON?

我可以看到 Atom 是 ODataMediaTypeFormatter 集合中第一个受支持的媒体类型。我很高兴完全删除 Atom 支持,因为我不需要它。更好的是正确协商内容类型。

最佳答案

您是否尝试过设置接受 header ,如下所示:

接受=应用程序/json;odata=详细。

那应该返回 JSON。
OData 协议(protocol)已经支持 JSON 有一段时间了,但在协议(protocol)的 V3 中,application/json 被映射到称为 JSON light 的东西(尚未实现)。因此,在支持 JSON light 以获取 JSON 之前,您必须更加具体一些,并请求自 V1 以来一直在 OData 中的更详细的 JSON 版本。

关于asp.net-web-api - Web API ODataResult 总是序列化为 Atom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12015473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com