2016-05-13 9 views
0

Mit Winkel ich versuche, einen Anruf an ein Web-api-Controller mit URL zu machenRouting von Winkeln mit atribute Routing

$ http ({Methode: 'GET', URL: '/ Ninja/Clans /' })

Mein Routing hat config.MapHttpAttributeRoutes(); in der Methode WebApiConfigs Register.

Die Controller-Klasse, die die Anfrage von angular erhalten soll, hat das Attribut [RoutePrefix ("ninja")] für die gesamte Klasse und die Methode, die auf den 'Clans' Teil der Anfrage antworten soll, hat das Attribut [Route ("Clans")] und die Methode heißt Clans().

Controller.cs

[Route("clans")] 
    public Object Clans() 
    { 
     var returnList = (from c in NinjaApi.GetAllClans() 
       select new 
       { 
        name = c.ClanName, 
        id = c.Id 
       }).ToList(); 

     return returnList; 
    } 

Ich bekomme diese Fehlermeldung, wenn tryint die Anforderung zu machen:

{ "message": "Der Antrag ist ungültig", "MessageDetail": "Die Das Parameterwörterbuch enthält einen Nulleintrag für den Parameter 'id' des Typs 'System.Int32', der keine Nullwerte zulässt, für die Methode 'System.String Get (Int32)' in 'NinjaWeb.Controllers.NinjaController'. Ein optionaler Parameter muss ein Referenztyp sein. Ein Nullwerttyp oder ein optionaler Parameter. "

Wie kann ich die Anfrage an die Methode namens Clans weiterleiten?

+0

Könnten Sie bitte Ihren Controller-Code zu der Frage hinzufügen? –

+0

Fertig! Vielen Dank für Ihre Zeit. – Lautaro

Antwort

0

Ich musste das Attribut [HttpGet] zu der Methode, die den Anruf empfängt, hinzufügen.