0

Ich versuche, zwei Aktionsmethoden auf einem API-Controller mit demselben [Route] -Namen, aber unterschiedlichen Parametertypen zu verwenden. Einer, der ein bestimmtes Objekt annimmt, und der andere, der ein Array dieses Objekttyps annimmt.ASP.NET Web API 2 Name der gleichen Route Unterschiedlicher POST-Modelltyp

Das Modell Bindemittel scheint nicht zwischen diesen unterscheiden zu können und ich die folgende Fehler zurückgegeben:

Multiple actions were found that match the request 

Gibt es eine Möglichkeit zwei POST-Methoden mit dem gleichen Weg von, aber unterschiedlichen Parametertypen ?

+0

Zeigen Sie uns Ihren Code! –

+0

Warum? Welchen Wert wird das hinzufügen? Es ist genauso einfach, es zu erklären. –

Antwort

0

Sie können nicht 2 Aktionen mit demselben Routing und demselben HTTP-Verb (wie Post) haben. Und ich denke, dass es beter anders Routings für dieses Beispiel zu verwenden:

/api/controller/PostType

/api/controller/PostListType

es readible sein und esier in Zukunft beibehalten. Und wenn jemand anderes Client-App-Routing erstellen wird selbsterklärend sein.

0

mit Routen

[RoutePrefix("api/FooModule")] 
public class FooController:ApiController 
{ 

[Route("Get"),HttpGet] 
public IHttpActionResult Get(){...} 

[Route("GetOther"),HttpGet] 
public IHttpActionResult GetOther(){...} 

}