首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >路由前缀可以被覆盖

路由前缀可以被覆盖
EN

Stack Overflow用户
提问于 2018-05-31 04:49:27
回答 1查看 630关注 0票数 0

我有一个基本的控制器,它执行一些post和get提供,下面我给出了get的示例结构

[AxAuthorization(Resource = "Offers")]
[RoutePrefix("api/offer/v2/offers")]
public class OffersV2Controller : ApiController
{
    [HttpGet]
    [Route("{id}", Name = "OffersGetById")]
    public async Task<HttpResponseMessage> GetById([FromUri(Name = "id")]string OfferId)
    {
             ----
             -----
      }
}

我们通过api/offer/v2/offers/id调用这个get方法,但是其他一些正在使用我们的服务的消费者,他们喜欢调用api/v2/offers/id,我们有什么方法可以覆盖它吗?上面的代码是由product生成的代码,我们不想修改路由前缀。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-31 05:20:19

[Route("api/v2/offer/test")]
[Route("api/offer/v2/test")]

config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "route1", routeTemplate: "test/v2/Values", defaults: new { controller = "Values", action = "Get" });

        config.Routes.MapHttpRoute(
            name: "route2",
            routeTemplate: "v2/test/Values",
            defaults: new { controller = "Values", action = "Get" });


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

在webapiConfig.cs中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50613150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档