我们使用swagger/nswag来记录webapi项目。Swagger/NSwag:重新定义参数类型
作为ActionMethods的BodyParameters,我们使用带有后缀Command的类,它包含例如创建一个Domain-Object保存在数据库中。
命令类看起来是这样的:
public class CreateChildCommand {
public Parent Parent { get; set; }
public int Position { get; set; }
}
虽然位置是一个简单的INT,家长是域级坚持在数据库中。可它在某种程度上是这样的:
public class Parent {
public Guid Id { get; set; }
public string Name { get; set; }
...
}
可以从数据库中通过其ID加载,所以我们只是传递id作为参数在JSON的命令参数是这样的:
{
"Position": 3,
"Parent": "41E71207-7F1E-4895-8BCC-14E1293A7907"
}
当对Json进行反序列化时,父节点通过它的Id通过Dao加载。 现在的问题是,那招摇/ nswag不明白,“魔术”,并显示该参数是这样的方法:
{
"Position": number,
"Parent": {
Id: "Guid",
"Name": "string",
...
}
}
有没有办法告诉招摇更换类型为父母做它看起来像这样:
{
"Position": "int",
"Parent": "Guid"
}
我通过TypeMappers做到了: – Tobias