【问题标题】:How to generate URL from WebAPI method如何从 WebAPI 方法生成 URL
【发布时间】:2015-08-19 02:14:20
【问题描述】:

这是我的 WebAPI 操作..

public class AuthenticationController : ApiController
{

    [Route("api/auth/login")]
    [HttpPost]
    public object Login([FromBody] LoginViewModel loginViewModel)

    ...

如何在 MVC 视图中生成 URL?

我试过这个...

@Url.HttpRouteUrl("DefaultApi", new { controller = "Authentication", action=  "Login" })"

...但它说DefaultApi 不存在。

为什么方法要一个路由名个路由参数?

他们是如何设法使路由比常规 MVC 更加复杂的?

什么样的 web 框架使请求网页/API 方法/web 服务变得困难?太可笑了。

【问题讨论】:

    标签: asp.net-web-api


    【解决方案1】:

    问题是因为你使用的是属性路由,所以需要用属性Route声明路由的名字,比如:

    [Route("api/auth/login", Name = "RouteName")]
    

    当你使用 @Url.HttpRouteUrl 时:

    @Url.HttpRouteUrl("RouteName", new { controller = "Authentication", action=  "Login" })"
    

    【讨论】:

      猜你喜欢
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多