2015-04-16 4 views
-1

Это, наверное, очень простой вопрос, но я не могу понять его. Как вы получаете метод объекта Operations с swagger 2.0?Получение метода операции Object Swagger 2.0

Из руководства по переходу: «Структура большинства объектов изменилась (например, объект« Операция »,« Объект параметров »). Среди других изменений, во многих случаях, вместо указания типа объекта, направление имени свойства к объекту будет указан его тип. Например, для операций вы должны иметь имя свойства, называемое «get», указывающее на объект операции. Таким образом, поле метода удаляется из самого объекта ».

https://github.com/swagger-api/swagger-spec/wiki/Swagger-1.2-to-2.0-Migration-Guide

Так что мой вопрос, если вы имели операции объект как бы вы получите метод? В частности, в C#?

Я пытаюсь перенести мои операции фильтров от 1,2 до 2,0

void IOperationFilter.Apply(Swashbuckle.Swagger.Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription) 
     { 
      if (apiDescription.ActionDescriptor.ReturnType == typeof(HttpResponseMessage)) 
      { 
       switch (operation.Method) 
       { 
        ... 

       } 
      } 

Но operation.Method больше не доступен в чванства 2.0.

ответ

0

В swagger 2.0 структура операции изменяется, поэтому она больше не имеет свойства для типа метода. Поэтому, если у вас есть объект операции, вы не можете получить этот метод, но ApiDescription имеет атрибут HttpMethod, который будет указывать, является ли операция Get, Put, Post или Delete. Что ранее было выполнено. Метод теперь можно получить с помощью

apiDescription.HttpMethod.ToString() 
Смежные вопросы