ASP.NET MVC 4 Маршрутизация для конкретного действия контроллера

У меня есть следующий контроллер/действие:

public class SomeThingController
{
     IEnumerable Search(DateTime minDate, DateTime maxDate, bool summaryOnly = true){}
}

Идея заключалась бы в том, что параметр summaryOnly не должен указываться, но minDate и maxDate должны быть.

Может ли кто-то предлагать маршруты для вышеуказанного?

2
nl ja de
Почему все downvotes?
добавлено автор Fedor Steeman, источник

1 ответы

Вы можете попробовать следующий маршрут:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "Search",
            routeTemplate: "api/search/{minDate}/{maxDate}/{summaryOnly}",
            defaults: new { 
                summaryOnly = RouteParameter.Optional,  
                controller = "SomeThing", 
                action = "search" 
            }
        );

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

а потом:

public class SomeThingController : ApiController
{
    [HttpGet]
    public IEnumerable Search(DateTime minDate, DateTime maxDate, bool summaryOnly = true)
    {
        ...
    }
}

и тогда вы можете запросить эту конечную точку следующим образом:

/api/search/2013-02-08/2013-02-10/

или:

/api/search/2013-02-08/2013-02-10/false
3
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)