Swagger generiert eine falsche URL für Wörterbuch in ASP.Net Core 3C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Swagger generiert eine falsche URL für Wörterbuch in ASP.Net Core 3

Post by Anonymous »

Swagger generiert eine falsche URL, wenn das aus der Abfragezeichenfolge extrahierte Modell ein Wörterbuch als eine seiner Eigenschaften hat. Wie kann man Swagger sagen, dass sie das Format des Wörterbuchs in der URL ändern oder das Schema für Eingabeparameter manuell ohne Auto-Generation definieren soll? Versucht, Swashbuckle und NSWAG zu verwenden. < /P>
Controller: < /p>

Code: Select all

public class RecordsController : ControllerBase
{
[HttpGet]
[Route("services/records")]
public async Task Records([FromQuery] QueryModel queryModel)
{
return null;
}
}
< /code>
Eingabemodell - Abfragezeichenfolge: < /p>
public class QueryModel
{
public int Page { get; set; }
public int Count { get; set; }
public Dictionary Conditions { get; set; }
}
< /code>
Swagger UI zeigt dieses Format für die Eigenschaft "Bedingungen" auf Abfragemodell: < /p>
{
"UserId": "string",
"GroupId": "string",
"RecordId": "string"
}
< /code>
Swagger generierte URL - Öffnen Sie API V2 - Es ist nicht an "Bedingungen" gebunden < /p>
/services/records?Page=0&Count=5&Conditions={"UserId":"1"}
< /code>
Swagger generierte URL - Öffnen Sie API v3 - Es ist nicht an "Bedingungen" gebunden < /p>
/services/records?Page=0&Count=5&UserId=1
Benutzerdefinierte URL - funktioniert wie erwartet "Bedingungen" mit {"userId", "1"}

Code: Select all

/services/records?Page=0&Count=5&Conditions[UserId]=1
Frage
So erzwingen Sie Swagger, um URL wie PropertyName [Schlüssel] zu rendern. Way, Swagger erstellt eine korrekte URL. < /p>

Code: Select all

{
"Conditions[UserId]": "1",
"Conditions[GroupId]": "2"
}
< /code>
URL ist jetzt korrekt und ordnungsgemäß an das Modell < /p>
gebunden/services/records?Page=0&Count=5&Conditions[UserId]=1&Conditions[GroupId]=2
Gibt es eine Möglichkeit, den Standardwert zu ändern, der in der Prahlerei für Wörterbuch Eingabetyp angezeigt wird?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post