因此,我的代码中的ServiceStack FallbackRoute是[FallbackRoute(" / {Path *} /")],这是ServiceStack文档所说的将处理每个不匹配路由的设置。
如果给出像example.com/api这样的路线,那么它将正确触发回退响应。
但是如果给出example.com/api/,那么它只返回一个空的200 OK响应。
在正确删除斜杠后,它会处理包含内容的不匹配路由,因此example.com/api/arglkjadkf将被发送到回退
我希望Servicestack能够在基本路径之后使用尾部斜杠获取url并使其达到后备路径。
答案 0 :(得分:-1)
ServiceStack不会将尾部斜杠区分为不同的路由,即:
[Route("/api")]
处理/api
和/api/
因此,路由定义中不应该有斜杠,因为您使用的是通配符路径,即:
[FallbackRoute("/{PathInfo*}")]
public class FallbackForUnmatchedRoutes
{
public string PathInfo { get; set; }
}
这将处理任何尚未处理的任何深度的路线。