2016-07-28 108 views
0

我想提供一個ASP.Net的Web API,可以通過以下格式被稱爲:帶參數選項的Web Api路由?

HTTP :// myApiServer/API/MyLookupMethod/GetForIVR/******中國/ 8005551212

HTTP :// myApiServer/API/MyLookupMethod/GetForIVR LookupType = ******中國& LookUpValue = 8005551212

是否有可能建立一個適用於任何呼叫的路線?

我目前的路線是

config.Routes.MapHttpRoute(
name:"MyRoute", 
routeTemplate:"api/{controller}/{action}/{Lookuptype}/{lookupvalue}" 
); 

回答

0

嘗試使用屬性路由

[Route("api/user/YourMethodName/{id}/{param2}")] 
[HttpGet] 
public HttpResponseMessage YourMethodName(int id = 0, bool param2= true) 

希望工程!

0

您可以使用基於屬性的路由,即控制器和方法上的特定路由。進一步,你應該傳遞你的2參數作爲查詢字符串,就像在這個URL MyLookupMethod/GetForIVR中一樣LookupType = PhoneNumber & LookUpValue = 8005551212它們將被自動解析爲方法參數。

public class SomeController : ApiController 
{ 
    // GET MyLookupMethod/GetForIVR?LookupType=PhoneNumber&LookUpValue 
    [Route("MyLookupMethod/GetForIVR")] 
    public Book Get(int LookupType, int LookUpValue) { ... } 

}