这是我的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服务的事情变得困难?这太荒谬了。
答案 0 :(得分:1)
问题是因为您正在使用属性路由,因此您需要使用属性Route声明路由的名称,例如:
[Route("api/auth/login", Name = "RouteName")]
当您使用 @ Url.HttpRouteUrl :
@Url.HttpRouteUrl("RouteName", new { controller = "Authentication", action= "Login" })"