Я получил (более чем) две конечные точки Api POST . Каждому нужен JSON в качестве параметра. Но когда я использую одно и то же имя класса Полезная нагрузка в двух классах аргументов конечной точки, Swagger не работает . Когда я меняю один из них, например от Полезная нагрузка до Полезная нагрузка1 , чем это работает.
Конечно, я установил правильные пространства имен в классах-оболочках, чтобы он обнаружил полезную нагрузку. Но я бы с удовольствием использовал одно и то же имя «Полезная нагрузка» каждый раз. Как использовать одно и то же имя класса Полезная нагрузка ?
Я могу сохранить имя json "Payload" в обоих случаях и просто установить разные имена для свойства ("Payload1", "Payload2"). Оно работает. Но было бы неплохо иметь такие же имена свойств.,
Конечная точка A
* +1025 * [HttpPost ()]
public Async Task 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
* +1032 * [HttpPost ()] * * тысяча тридцать-три
public Async Task 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; }
}
}