Swagger разные классы в разных пространствах имен с одинаковыми именами не работают - PullRequest
0 голосов
/ 06 июня 2019

Я получил (более чем) две конечные точки Api POST . Каждому нужен JSON в качестве параметра. Но когда я использую одно и то же имя класса Полезная нагрузка в двух классах аргументов конечной точки, Swagger не работает . Когда я меняю один из них, например от Полезная нагрузка до Полезная нагрузка1 , чем это работает. Конечно, я установил правильные пространства имен в классах-оболочках, чтобы он обнаружил полезную нагрузку. Но я бы с удовольствием использовал одно и то же имя «Полезная нагрузка» каждый раз. Как использовать одно и то же имя класса Полезная нагрузка ? Я могу сохранить имя json "Payload" в обоих случаях и просто установить разные имена для свойства ("Payload1", "Payload2"). Оно работает. Но было бы неплохо иметь такие же имена свойств.,

enter image description here

Конечная точка 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; }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...