Autor Téma: Delphi MVCFramework + Swagger dokumentace parametrů ?  (Přečteno 801 krát)

Offline Duhacek

  • Nováček
  • *
  • Příspěvků: 19
  • Karma: 0
Zdravím delphisty,
prosím kdo používáte DMVCF + dokumentaci Swagger – dá se do ní nějak přidat "volitelný" parametr z URL cesty (viz obr) ?
Tedy aby v přehledu endpointu /zamestnanec byl nejen parametr "idzamestnance" ale i "cislo" ?

Díky.


Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3532
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi MVCFramework + Swagger dokumentace parametrů ?
« Odpověď #1 kdy: 08-02-2023, 14:17:40 »
Excellent
Rated 1 time
[MVCSwagParam(plPath, 'Id', 'user id', ptInteger, True, '1')]

plPath je to co potrebujes
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3532
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi MVCFramework + Swagger dokumentace parametrů ?
« Odpověď #2 kdy: 08-02-2023, 14:18:20 »
Excellent
Rated 1 time
resp cele
Kód: Delphi [Vybrat]
  1.     [MVCPath('/UserRight/($Id)')]
  2.     [MVCHTTPMethod([httpGET])]
  3. {$IFNDEF DEBUG}    [MVCRequiresRole('role1')] {$ENDIF}
  4.     [MVCSwagSummary('User', 'List all UserRights by User', 'GetUserRight')]
  5.     [MVCSwagParam(plPath, 'Id', 'user id', ptInteger, True, '1')]
  6.     [MVCSwagResponses(200, 'Success', TUserRight, True)]
  7.     [MVCSwagResponses(500, 'Internal Server Error')]
  8.     procedure GetUserRight(const Id: Integer);
  9.  
Embarcadero MVP - Czech republic

Offline Duhacek

  • Nováček
  • *
  • Příspěvků: 19
  • Karma: 0
Re:Delphi MVCFramework + Swagger dokumentace parametrů ?
« Odpověď #3 kdy: 08-02-2023, 21:02:38 »
plPath je to co potrebujes
Tak bohužel, když u parametru "cislo" změním plQuery na plPath, ve swagger docu se to neukáže.

Potřeboval bych tam něco ve stylu viz obr.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3532
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi MVCFramework + Swagger dokumentace parametrů ?
« Odpověď #4 kdy: 08-02-2023, 23:29:30 »
Excellent
Rated 1 time
Tak jeste jednou, viz. priloha

Kód: Delphi [Vybrat]
  1.     [MVCPath('/UserRight/($Id)')]
  2.     [MVCHTTPMethod([httpGET])]
  3. {$IFNDEF DEBUG}    [MVCRequiresRole('roleextra')] {$ENDIF}
  4.     [MVCSwagSummary('User', 'List all UserRights by User', 'GetUserRight')]
  5.     [MVCSwagParam(plPath, 'Id', 'user id', ptInteger, True, '1')]
  6.     [MVCSwagParam(plQuery, 'data', 'extra data id', ptInteger, True, '1')]
  7.     [MVCSwagResponses(200, 'Success', TUserRight, True)]
  8.     [MVCSwagResponses(500, 'Internal Server Error')]
  9.     procedure GetUserRight(const Id: Integer);
  10.  
Embarcadero MVP - Czech republic

Offline Duhacek

  • Nováček
  • *
  • Příspěvků: 19
  • Karma: 0
Re:Delphi MVCFramework + Swagger dokumentace parametrů ?
« Odpověď #5 kdy: 09-02-2023, 06:54:02 »
Tak jeste jednou, viz. priloha
Díky moc, mám to zřejmě nějaké "nabourané", protože u sebe nevidím ani ten text ze MVCSwagSummary, který u tebe zobrazen je...

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3532
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi MVCFramework + Swagger dokumentace parametrů ?
« Odpověď #6 kdy: 09-02-2023, 07:42:47 »
Excellent
Rated 1 time
Mas v uses MVCFramework.Swagger.Commons ?
Delphi jako chybejici atribut nehlasi jako chybu pri kompilaci, jen proste v RTTI neni. Jinam mam DMVC asi pul roku stare, ale to se asi nezmenilo.
Podivej se do examplu, tam to bylo.
Embarcadero MVP - Czech republic

Offline Duhacek

  • Nováček
  • *
  • Příspěvků: 19
  • Karma: 0
Re:Delphi MVCFramework + Swagger dokumentace parametrů ?
« Odpověď #7 kdy: 09-02-2023, 08:02:52 »
Super 👍 :)
Už je to OK, měl jsem sice MVCFramework.Swagger.Commons v hlavním dpr, ale po přidání i do té unity kontroleru to začalo fungovat.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3532
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi MVCFramework Swagger dokumentace parametrů ?
« Odpověď #8 kdy: 09-02-2023, 08:06:53 »
Excellent
Rated 1 time
Jinak samozrejme to vyhodi warning
[dcc32 Warning] uControlerxx.pas(119): W1074 Unknown custom attribute

Embarcadero MVP - Czech republic