2015-04-20 3 views
0

Я пытаюсь обновить Swashbuckle 4 до 5 и чванства 1.2 до 2.Кураж/Swashbuckle вложенные ответы не отображаются правильно

Этот вопрос я имею схема ответа не отображается правильно, если ответ имеет другой объект внутри него.

При использовании Swagger 1.2 моя модель схемы выглядит следующим образом:

{ 
    "Id": "", 
    "FirstName": "", 
    "LastName": "", 
    "Address": { 
    "StreetNumber": "", 
    "City": "", 
    "PostalCode": "" 
    }, 
    "Preferences": [ 
    { 
     "Name": "", 
     "Brand": "", 
     "MarketingName": "" 
    } 
    ] 
} 

И модель была:

Customer { 
Id (string, optional), 
FirstName (string, optional), 
LastName (string, optional), 
Address(Address, optional), 
Preferences(array[Preference], optional) 
} 
Address { 
StreetNumber (string, optional), 
City (string, optional), 
PostalCode (string, optional) 
} 
Preference{ 
Name (string, optional), 
Brand (string, optional), 
MarketingName (string, optional), 
    } 

Теперь модель схемы является:

{ 
    "Id": "", 
    "FirstName": "", 
    "LastName": "", 
    "Preferences": [ 
    null, 
    ] 
} 

И модель это:

Customer { 
Id (string, optional), 
FirstName (string, optional), 
LastName (string, optional), 
Address(#/definitions/Address, optional), 
Preferences(Array[#/definitions/Preference, optional) 
} 

JSON на самом деле не изменился. Начиная с swagger 1.2 до 2.0, тип ответа переместился из типа в ответ ref, но JSON выглядит правильно и если настройки или адрес не вложены в Customer, он правильно отображается в пользовательском интерфейсе.

Как я могу получить модели для адреса и предпочтения в модели Customers?

ответ

1

Это не имеет никакого отношения к Swashbuckle, а скорее к swagger-ui. По внешнему виду, это возможная ошибка. Что вы можете сделать, чтобы проверить это, получите последнюю версию swagger-ui непосредственно из своего репозитория и попробуйте запустить ее против определения Swagger, которое создается из Swashbuckle. URL-адрес описан в разделе «Начало работы» - https://github.com/domaindrivendev/Swashbuckle#getting-started.

Если проблема решена, вы можете попросить автора Swashbuckle обновить версию пользовательского интерфейса. Если нет, я бы рекомендовал открыть билет непосредственно на swagger-ui, и он будет рассмотрен.

+0

Спасибо, что это была неправильная версия swagger-ui! – nastassiar

Смежные вопросы