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。 但是我很好奇为什么仅仅使用注释就会出错。
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设置它)。