为什么Web Api添加额外的$id到结果集

本文关键字:id 结果 Web Api 添加 为什么 | 更新日期: 2023-09-27 18:11:05

我有Web Api服务,返回一些对象的可枚举列表,但我在客户端看到一些额外的$id为每个对象?为什么我得到它?原因是什么?可以停用吗?

为什么Web Api添加额外的$id到结果集

它是自动添加的句柄,所以如果该元素再次出现在代码中,它将只添加一个引用。

你可以通过将它添加到全局asax(或任何其他你正在使用的引导程序)中的Application_Start来禁用它

var json = config.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;

GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings。

For .Net Core (For example: .Net 6)在program.cs

中添加下面一行代码
public void ConfigureServices(IServiceCollection services)
{
   services.AddControllers().AddNewtonsoftJson(options =>
    {
        options.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.None;
    }); 
}