2017-04-08 116 views
0

在我的WebApi上調用此方法時,出現404錯誤。向webapi請求獲取帶參數的方法返回404

在我的ApiController我有一個ArchiveTradingConfiguration方法。

public class TradingConfigurationController : ApiController 
{ 
[AcceptVerbs("GET")] 
    public bool ArchiveTradingConfiguration(string correlationId, string symbol) 
    { 
... 
    } 
} 

這裏是我的startup.cs

public static class Startup 
{ 
public static void ConfigureApp(IAppBuilder appBuilder) 
    { 
    var config = new HttpConfiguration(); 
     config.EnableCors(); 

     config.Routes.MapHttpRoute(
     name: "ApiWithAction", 
     routeTemplate: "api/{controller}/{action}/", 
     defaults: null 
     ); 

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

     config.Routes.MapHttpRoute(
     name: "ArchiveTradingConfiguration", 
     routeTemplate: "api/{controller}/{correlationId}/{symbol}" 
     ); 
    } 
} 

當我做我使用的要求:

var correlationId = "SomeGuidAsString"; 
var symbol = "SomeStringValue" 
var url = "api/TradingConfiguration/ArchiveTradingConfiguration/" + correlationId + "/" + symbol; 

例如 http://localhost:8421/api/TradingConfiguration/ArchiveTradingConfiguration/034f7d92-dd02-46b3-9db2-11990ea5860c/SomeStringValue

任何想法?

+0

u能請測試烏爾應用,而無需其他規則,除去第一和第二的配置和測試。 –

+0

我仍然得到404,如果我刪除其他規則 –

回答

0

它現在正在工作。我做了2個修改。我不知道第一個是否需要。第二個是肯定的。

我的操作包含我的控制器的名稱。改變了操作的名稱來存檔

我我的路線的配置我已經忘了添加/ {行動}/

routeTemplate: "api/{controller}/{action}/{correlationId}/{symbol}"