我有一个基本的控制器,它执行一些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生成的代码,我们不想修改路由前缀。
发布于 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中
https://stackoverflow.com/questions/50613150
复制相似问题