【发布时间】:2019-10-21 20:14:26
【问题描述】:
我有(超过)两个 Api POST 端点。每个都需要一个json作为参数。但是当我在两个端点参数类中使用相同的类名 Payload 时,Swagger 不起作用。当我改变其中之一时,例如从 Payload 到 Payload1 比它有效。 当然,我在包装类中设置了正确的名称空间,以便它找到 Payload。但我希望每次都使用相同的名称“Payload”。 如何使用相同的类名Payload? 我可以在这两种情况下保留 json 名称“Payload”,并为属性设置不同的名称(“Payload1”、“Payload2”)。有用。但是也可以有相同的属性名称。,
端点 A
[HttpPost()]
公共异步任务 PostPerson([FromBody]JsonWrapperA jsonWrapperA)
namespace myProject.A
{
public class JsonWrapperA
{
[JsonProperty("name", Required = Required.AllowNull)]
public string Name { get; set; }
[JsonProperty("payload", Required = Required.AllowNull)]
public Payload Payload { get; set; }
}
public class Payload
{
[JsonProperty("value", Required = Required.AllowNull)]
public double Value { get; set; }
}
}
端点 B
[HttpPost()]
公共异步任务 PostCompagn([FromBody]JsonWrapperB jsonWrapperB)
namespace myProject.B
{
public class JsonWrapperB
{
[JsonProperty("compagny", Required = Required.AllowNull)]
public string Compagny { get; set; }
[JsonProperty("payload", Required = Required.AllowNull)]
public Payload Payload { get; set; }
}
public class Payload
{
[JsonProperty("age", Required = Required.AllowNull)]
public double Age{ get; set; }
}
}
【问题讨论】:
标签: asp.net asp.net-web-api asp.net-core