2016-05-13 79 views
-1

使用的WebAPI控制器在我们的项目之前,他们用于XML报告生成网页API没有任何身份验证(匿名)。所有他们通过正常的asp.net的MVC controllerand使用类似处理的事情“本地主机/ ABC /的WebAPI /控制器/导出_参数如何通过URL在ASP.Net MVC

本地主机服务器,

ABC-项目文件夹,

的WebAPI,文件夹,

控制器,控制器名称,

出口 - 法

012。

以上是使用URL细节访问XML报告。但只有一件事他们使用了Apicontroller。

像下面,

public virtual HttpResponseMessage ManExport(string ABC, string product, string Release, bool includeInheritedData = false) 
{ 

} 

如何访问URL此的WebAPI控制器?像正常的控制器?

+0

什么是路线图的API? –

回答

0

已经为的WebAPI控制器及其在AppStart的预定义/ WebApiConfig.cs他们使用像下面访问API方法。

 config.Routes.MapHttpRoute("DefaultApiWithId", "Api/{controller}/{id}", new { id = RouteParameter.Optional }, new { id = @"\d+" }); 
     config.Routes.MapHttpRoute("DefaultApiWithAction", "Api/{controller}/{action}"); 
     config.Routes.MapHttpRoute("DefaultApiGet", "Api/{controller}", new { action = "Get" }, new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) }); 
     config.Routes.MapHttpRoute("DefaultApiPost", "Api/{controller}", new { action = "Post" }, new { httpMethod = new HttpMethodConstraint(HttpMethod.Post) }); 
1

可以定义为Web API方法途径的路径和名称。使用该路由可以访问API控制器操作,如果它很简单获取调用并具有匿名访问权限。

例如:

想这在你的API控制器的方法:

[HttpGet,AllowAnonymous][Route("api/register")] 
public void Register() 
    { 

    } 

你可以像URL访问:本地主机/ API /从browser.This注册是一个简单的例子来用简单的术语解释事情。还有很多其他事情涉案取决于各种因素,如安全性,要求等

+0

它通过访问localhost/Api/controllername/ManExport工作。 无论如何感谢您的回复。 –