Ich versuche, eine Aktion mit 2 Parametern zu machen, ist ein optional Ich bin mitASP.NET WebAPI Routenparameter
[HttpGet, Route("movies/date/{dateMin}&{dateMax}")]
versucht, aber es funktioniert nicht. ‚dateMax‘ ist ein optionaler Parameter, und wenn es nicht gegeben hat sollte es den gleichen Wert wie dateMin bereits versucht, mit
[HttpGet, Route("movies/date/{dateMin}&{dateMax?}")]
Aber es ist auch nicht arbeiten. Ich mag nicht
so etwas wie{dateMin}/{dateMax}
Gibt es andere Möglichkeit, das zu tun haben?
Sie verwenden vielen Dank :) Ich habe auch eine zweite Frage. Ich habe "[HttpGet, Route (" Filme/{movieId: int?}/Xx ")]" Ich möchte es mit "Filme/2/xx" arbeiten - bekommen xx nur für MovieId = 2 und "movies/xx" - alles bekommen xx Gibt es eine Möglichkeit, das zu tun? – Pawel
@Pawel - nein. Wenn Sie Positionsparameter verwenden, ist die Reihenfolge kritisch und optionale Parameter sollten vor den erforderlichen Parametern platziert werden. Am besten wäre es, stattdessen eine Abfragezeichenfolge zu verwenden und sie nach Namen zu binden, anstatt sie positionsbasiert zu machen. Um dies vollständig aus der Routenvorlage auszulassen, behalten Sie sie als Parameter in der Methode bei, sodass sie nullwertfähig sind (Hinzufügen von Werttypen) und einen Standardwert zugewiesen wird. Dann sind sie optional und Sie können einen Abfragezeichenfolgenparameter verwenden, um einen Wert aufzunehmen. – Igor
Okay, vielen Dank :) – Pawel