2015-09-14 4 views
0

СЦЕНАРИЙ:SetActualResponseType с таким же методом в одном контроллере с различными маршрутами

Web Api 2,2

Я не знаю, если это лучший способ, но это уже в производстве как есть, и я не мог его изменить.

У меня есть контроллер с одинаковыми глаголами (несколько GET), но с разными маршрутами. Например, контроллер Foo:

[Route("foo/{Id}")] 
    public HttpResponseMessage Get(int Id) //Return objectA 

[Route("foo/Search")] 
public HttpResponseMessage Get(string criteria) //Return objectB 

[Route("foo/Anything")] 
public HttpResponseMessage Get(anything bar) //Return objectC 

Теперь я создания Web API справочной документации и в моем HelpPageConfig.cs и мне нужно указать тип ответа (отличается для всех методов) с:

config.SetActualResponseType(typeof(objectA), "foo", "Get"); 

ВОПРОС:

можно сделать то же самое с другими методами? Когда я попробовал, это говорит об ошибке: «определение уже существует»

ответ

1

Один из способов использовать другую перегрузку SetActualResponseType, которая принимает имена параметров:

config.SetActualResponseType(typeof(ObjectA), "Home", "Get", "Id"); 
config.SetActualResponseType(typeof(ObjectB), "Home", "Get", "criteria"); 
config.SetActualResponseType(typeof(ObjectC), "Home", "Get", "bar"); 

Но, так как вы используете веб-Апи 2.2 , забудьте о SetActualResponseType и просто выполните:

+0

О люди ... вы правила! Большое спасибо –

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

  • Нет связанных вопросов^_^