ODataQueryOptions<T> 引发自引用循环错误



我正在尝试使用带有ODataQueryOptions的postman调用Web API。但是我收到错误

检测到具有类型的属性"声明类型"的自引用循环 -'Microsoft.Data.Edm.Library.EdmEntityType'.路径 'messageArguments[0].options.Context.Model.SchemaElements[0].声明属性[0]'。

下面是 API 操作方法 -

    [Route("api/get")]
    [HttpGet]
    public IHttpActionResult Get(ODataQueryOptions<Dummy> options)
    {
         return null;
    }

我的邮递员网址 - https://localhost:44360/api/get/$select=Name

错误的屏幕截图

我在该操作方法上有一个操作过滤器,它将使用Newtonsoft将操作参数转换为JSON并将它们记录在文本文件中。问题在于将 ODataQueryOptions 转换为 JSON,这会导致自引用循环错误。在转换为 JSON 时添加忽略自引用 JSON 设置会导致另一个错误 - "从'System.Web.HttpInputStream'上的'读取超时'获取值时出错"。无论如何,我删除了操作过滤器,它现在可以正常工作。

最新更新