0

我似乎找不到一种方法来为通用 asp.net webhook 设置这样的 URI,其路由以 /portalapi/v1/* 之类的开头。例如这样的:

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

webhook 接收器似乎只以 api/* 形式响应来自 URI 的帖子:

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

我错过了什么吗?或者这是一个错误?有没有人能够改变路线的起点并被 webhook 调用接受?

我通读了这个微软文档,但没有找到任何答案: https ://docs.microsoft.com/en-us/aspnet/webhooks/receiving/receivers

我在 github 上有一张 AspNetWebHooks 团队的公开票。 https://github.com/aspnet/AspNetWebHooks/issues/62

4

1 回答 1

1

您不能,因为它不受支持,并且该项目处于维护模式,因此永远不会受到支持。

查看源代码

// Use a constant template since all WebHook constraints use the resulting route values and we have no
// requirements for user-specified route templates.
private static string ChooseTemplate()
{
    var template = "/api/webhooks/incoming/"
        + $"{{{WebHookConstants.ReceiverKeyName}}}/"
        + $"{{{WebHookConstants.IdKeyName}?}}";

    return template;
}
于 2021-10-25T20:01:02.677 回答