gpt4 book ai didi

entity-framework - 在模型中使用 Entity Framework 复杂类型时,示例不适用于 Web API 帮助页面

转载 作者:行者123 更新时间:2023-12-03 21:14:54 25 4
gpt4 key购买 nike

我有一个包含一些复杂类型的 EF 代码优先模型。生成 Web API Controller 没有任何问题,但在生成 Web API 帮助页面时,如 http://blogs.msdn.com/b/yaohuang1/archive/2012/08/15/introducing-the-asp-net-web-api-help-page-preview.aspx 中所述。那么样本不会生成。给出的错误消息是:

使用格式化程序“JsonMediaTypeFormatter”为媒体类型“application/json”生成示例时发生异常。异常消息:发生一个或多个错误。

其他媒体类型也会发生同样的事情。我知道前段时间有一个复杂类型和序列化的问题,但是当 Web API 中默认包含 Json.NET 格式化程序时,它解决了。

这可能有关系吗?其他人还有相同的疑问么?有任何想法吗?

最佳答案

我的猜测是,这很可能是由于您的模型具有引用循环。例如,您能否通过对 Json 格式化程序进行以下更改来尝试生成帮助页面。您应该会看到生成的示例:

        config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize; 
config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;

此外,如果您不进行上述设置,实际上即使在运行时也应该看到类似的错误。

对于 XmlFormatter 和自引用循环,您可以查看 here .

关于entity-framework - 在模型中使用 Entity Framework 复杂类型时,示例不适用于 Web API 帮助页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15029576/

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