Swagger UI - dictionary FromQuery

Swagger UI - dictionary FromQuery
SZ
  • Rejestracja:prawie 11 lat
  • Ostatnio:około godziny
  • Postów:1492
0

Witam. Mam akcję która przyjmuje pewien model z polami string oraz jedno pole typu Dictionary<string,string>.

Jak zmusić swaggera ui żeby generował odpowiedni get url. czyli ?data[key1]=value1&data[key2]=value2 , ?

Chodzi o te pola w swagger UI. W przupadku pojedynczych pól string nie ma problemyu. tzn w url pojawia się ?nazwapola=wartosc.

Czyli co powinienem wpisać w Ui pod wartością do wysłania aby był odpowiedni url to zmapowania na dictionary?

IR
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:14
0

z tego co wiem, najprościej będzie samemu napisać docsy w yamlu, bo chyba nie jest realne w auto generowanym dokumencie by wymusić dokładny typ

SZ
A co to sa te docsy? Jak to dolaczyc do projektu?
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:5 dni
  • Lokalizacja:Wrocław
0

@szydlak: a ten Swagger to jak się generuje? Core ma coś wbudowanego do tego, czy przez Swashbuckle albo inną libkę?

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:5 dni
  • Lokalizacja:Wrocław
0

No to jak Swashbuckle, to możesz nadpisać wygenerowane w schema parametry przy użyciu swojej implementacji IOperationFilter.

SZ
  • Rejestracja:prawie 11 lat
  • Ostatnio:około godziny
  • Postów:1492
0

@somekind: Nie bardzo rozumiem idee nadpisywania. Zdebugowalem sobie moja implementacje IoperationFilter. No sa te parametry i w jaki sposob mialbym je nadpisac?. Nigdzie nie znalazlem jakiegos podobnego przypadku. Widzialem dodawanie tylko nowego parametru.

A tak w ogóle to dokumentacja pokazuje niby mapwanie na slownik ale jak tego uzyc?
https://swagger.io/docs/specification/data-models/dictionaries/

edytowany 2x, ostatnio: szydlak
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:5 dni
  • Lokalizacja:Wrocław
0

Parametry możesz zastąpić tak:

Kopiuj
        public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
        {
            var resultParameters = new List<Parameter>();
            foreach (var op in operation.parameters)
            {
                var op = new Parameter();
                op.name = name;
                op.@in = "path";

                 resultParameters.Add(op);
            }

            operation.parameters = resultParameters;            
        }

Tzn. ja nie robię w Core, a w zwykłym frameworku jak mi czegoś brakowało (albo miałem czegoś za dużo) w Swaggerze, to implementowąłem sobie IOperationFilter, stąd moja propozycja. :)

SZ
  • Rejestracja:prawie 11 lat
  • Ostatnio:około godziny
  • Postów:1492
0

No ale w jaki sposob to zastapienie parametrow rozwiaze moj problem bo jeszcze tego nie widze.

edytowany 1x, ostatnio: szydlak

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.