我在我的 ASP.NET webapi 项目中使用所有默认设置的 Swashbuckle 5。它序列化我的方法的输出,以便向我显示回复的模式。我收到的文档如下所示:
Response Class (Status 200)
Model Model Schema
[
{
"<Key>k__BackingField": "string",
"<Value>k__BackingField": "string",
"<Id>k__BackingField": 0
}
]
这是通过以下 C# 代码生成的
/// <summary>
/// Fetches all system configuration items
/// </summary>
/// <returns>List of <see cref="SystemConfigurationDto" /> items</returns>
public IList<SystemConfigurationDto> GetAllSystemConfigurationItems()
{
var result = CommandProcessor.ProcessCommand(new SystemConfigurationQueryCommand()) as SystemConfigurationQueryCommandResponse;
return result.Results.ToList();
}
其中 result.Results 基本上是一个标准的对象列表,每个对象都包含这些键/值/id 字段。我在这里读过https://conficient.wordpress.com/2014/05/22/getting-rid-of-k__backingfield-in-serialization/ [serializable] 属性可能会影响这一点,但我不愿意摆脱它属性,如果可能的话。有什么方法可以调整这个序列化工件吗?