ServiceStack:解释“匹配= ...”规则

问题描述 投票:1回答:1

我需要解释Matching =“...”规则中的字符串应该看谁。

我在docs.servicestack.com上只看到了几个例子:

[Route("/users/{Id}", Matches = "**/{int}")]
[Route("/{UserId}/profile", Matches = @"{int}/**")]
[Route("/feed", Matches = "IsAuthenticated")]

还有一些。

我试过了:

[Route("/myservice/bookings/{SearchString}", Matches = "**/{string}", Verbs = "GET")]
public class SearchAddress : IReturn<SearchAddressResponse>
{
    public string SearchString { get; set; }
}

但我得到了:

:'未知匹配规则'** / {string}'在路线'/ myservice / bookings / {SearchString}''

我可以补充一点,这条规则很好:

[Route(/myservice/bookings/{BookingId}", Matches = "**/{int}", Verbs = "GET")]
public class GetBooking: IReturn<GetBookingResponse>
{
    [ApiMember(IsRequired = true)]
    public uint BookingId { get; set; }
}

我有

/myservice/bookings/{SearchString} // a string to search for bookings

/myservice/bookings/{BookingId} // an Int for a specific booking

我认为我可以区分他们使用匹配规则。但是,我不确定我必须使用什么规则,或者为什么一个有效,另一个没有。

servicestack url-routing
1个回答
0
投票

请参阅有关注册Custom Matching Rules的文档,如果您没有使用内置规则,则需要在Config.RequestRules中注册实现。

© www.soinside.com 2019 - 2024. All rights reserved.