2016-07-28 22 views
0

Ich möchte eine ASP.Net Web-API zur Verfügung zu stellen, die von den folgenden Formaten abgerufen werden können: Web-API-Routing mit Parameteroption?

// myApiServer/API/MyLookupMethod/GetForIVR/Phone/8005551212

:

http oder

http : // myApiServer/API/MyLookupMethod/GetForIVR LookupType = Rufnummer & LOOKUPVALUE = 8005551212

Ist es möglich, eine Route einzurichten, die mit jedem Anruf funktioniert?

Meine aktuelle Route ist

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

Antwort

0

Try-Attribut verwenden Routing

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

Hoffe, es funktioniert !!

0

Sie können das attributbasierte Routing verwenden, d. H. Spezifisches Routing auf Controllern und Methoden. Weiter sollten Sie Ihre 2 Parameter als Query-String wie in dieser URL MyLookupMethod/GetForIVR? LookupType = PhoneNumber & LookUpValue = 8005551212 übergeben und sie werden automatisch als Methodenparameter analysiert.

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

}