При импорте swagger / swashbuckle управления API Azure выдается ошибка: Ошибка (ы) разбора: неуникальный элемент массива в индексе - PullRequest
0 голосов
/ 14 февраля 2019

В настоящее время я разрабатываю API и использую Swashbuckle для создания документации Swagger.Когда я пытаюсь импортировать его в Azure API Management, я получаю следующие ошибки, если использую [FromBody] для значений в параметрах, например, методов HttpPut или HttpPost:

Parsing error(s): Non-unique array item at index 15. Path 'paths./{Id}/settings.put.consumes[15]', line 1, position 2115.

Если удалить или заменитьс [FromQuery] он работает и может быть импортирован.Я использую .Net Core 2.1 и Swashbuckle.AspNetCore 4.0.1 и Swashbuckle.OData 3.5.0, поскольку проект поддерживает Odata.

Метод выдачи ошибки выглядит следующим образом:

        /// <summary>
        /// AddOrUpdateSetting
        /// </summary>
        /// <remarks>
        /// Updates a user's settings.
        /// </remarks>
        /// <param name="contactId"></param>
        /// <param name="setting"></param>
        /// <response code="200">The user setting was successfully updated.</response>
        /// <response code="400">Bad request (modelstate was invalid).</response>
        /// <response code="500">The request could not be processed.</response>
        [ProducesResponseType( typeof(IActionResult), Status200OK )]
        [ProducesResponseType( Status400BadRequest )]
        [ProducesResponseType( Status500InternalServerError )]
        [HttpPut( "{contactId}/settings" )]
        public async Task<IActionResult> AddOrUpdateSetting(string contactId, [FromBody] UserSetting setting)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            await _notificationDataRepository.AddOrUpdateUserSetting(setting);

            return Ok(setting);
        }

Проект был создан с использованием шаблона API в Visual Studio.Это какая-то ошибка в версии Cash Swashbuckle или почему это происходит?FromBody не является чем-то необычным и должен быть поддержан.Это ограничение или нужно что-то еще?

...