提问者:小点点

我已经用[jsonProperty(“file_list”)]注释了我的模型,但是没有遵循指令


Im正在使用

using Newtonsoft.Json;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

正如您在我的代码中看到的那样,我用[jsonProperty(“file_list”)]注释了我的模型,但是没有遵循该指令,因为Swagger UI仍然认为应该调用它。

“FileList”:[{“ContainerName”:“String”,“FileName”:“String”}

我的代码:

    [JsonProperty("file_list")] 
    public IEnumerable<FileListViewModel> FileList { get; set; }

我该怎么解决这个问题? 提前谢谢你。

[编辑]我知道我该怎么解决它。 我只是将我的viewmodel名称命名为file_list。 但是我很好奇为什么仅仅使用注释就会出错。


共1个答案

匿名用户

Asp.NET Core 3.1已从使用NewtonSoft.json切换到System.Text.json,因此请使用System.Text.json中的JSONPropertyNameAttribute:

[JsonPropertyName("file_list")] 
public IEnumerable<FileListViewModel> FileList { get; set; }

或者选择加入newtonsoft.json,在您的服务配置中添加services.addControllors().addNewtonsoftJSON()(可能您还需要为swagger设置它)。