Laden...

Query Parameter bindet nicht

Erstellt von Papst vor 2 Jahren Letzter Beitrag vor 2 Jahren 691 Views
P
Papst Themenstarter:in
441 Beiträge seit 2014
vor 2 Jahren
Query Parameter bindet nicht

Moin,

Ich erliege gerade einem seltsamen Problem, für dass ich die Lösung nicht alleine finde.
Ich habe zwei Controller, die ähnlich aussehen:

  • gleiche Attribute auf Controller Ebene (ApiController, Route)
  • fast gleiche Attribute auf der Action (HttpGet, 3x ProducesResponseType)
  • ähnliche Methodensignatur

Ich binde hier ein record an die Query Parameter mittels des FromQuery Attributs. Die records der beiden Controller haben dieselben Properties.
Bei dem einen Controller funktioniert das blendend, es werden alle Properties gebunden, sobald diese als Query String vorhanden sind, bei dem anderen Controller wird allerdings die eine Property nicht gebunden und ist immer null, während ich sie im Query Property des Requests aber sehen kann.

Was ich bereits ausgeschlossen habe:

  • Es hängt nicht an der record selber, andere Properties funktionieren - es liegt nur an der einen „string?“ property
  • Es liegt nicht an „init“ anstatt „set“
  • Es liegt nicht an record, als class habe ich diegleichen Probleme
  • Groß/Kleinschreibung ist es auch nicht

(Nicht, dass ich einen der Punkte erwartet hätte, aber ich wollte es ausschließen)

Was könnte es noch sein und wie kann ich das sinnvoll debuggen? Mein Versuch mit Modelbindern dahinter zu kommen scheitert dann daran, dass der Modelbinder alleine schon das komplette Konstrukt in ASP.NET Core 6 aushebelt und der Binder selber verantwortlich ist.