Rozcestník: Jste tu poprvé?
Pro začátečníky jsem napsal úvod do programování v Delphi.
Můžete si přečíst informace ohledně změn v jednotlivých verzích Delphi a
případně mezi jednotlivými edicemi Delphi.
Pokud přecházíte ze starších verzí tak řetezce a unicode.
Možná Vás bude zajímat spolupráce databáze a Delphi,
nebo se budete rozhodovat mezi různými druhy Delphi projektů.
Navštivte adresář nejpopulárnějších open source Delphi komponent
Platform status - podporované platformy v jednotlivých verzích
Free Delphi Starter Edition download
Potřebujete Delphi školení nebo konzultace na různá témata?
Doplním starší příspěvek DMVC o jednohubku jako je ukázka jednoduchého předání dat a založení dat. Po přečtení první části doplníme náš REST server o POST, tj. vytvoření záznamu.
type
[MVCNameCase(ncLowerCase)]
TTown = class
private
FName: string;
FPostCode: string;
public
[MVCSwagJsonSchemaField('name', 'town name', True, False)]
property Name: string read FName write FName;
[MVCSwagJsonSchemaField('postcode', 'post code', True, False)]
property PostCode: string read FPostCode write FPostCode;
end;
[MVCPath('/town')]
[MVCSwagAuthentication(atJsonWebToken)]
TCtrlTown = class(TMVCController)
public
[MVCPath('/($Id)')]
[MVCHTTPMethod([httpGET])]
{$IFNDEF DEBUG} [MVCRequiresRole('role1')] {$ENDIF}
[MVCSwagSummary('Town section', 'Town by Id', 'GetTown')]
[MVCSwagParam(plPath, 'Id', 'Town id', ptInteger)]
[MVCSwagParam(plQuery, 'params', 'Params', ptString)]
[MVCSwagResponses(200, 'Success', TTown)]
[MVCSwagResponses(401, 'Unauthorized')]
[MVCSwagResponses(500, 'Internal Server Error')]
procedure GetTown(const Id: Integer);
{$IFNDEF DEBUG} [MVCRequiresRole('role1')] {$ENDIF}
[MVCDoc('create Town and return "201: Created"')]
[MVCPath('/')]
[MVCHTTPMethod([httpPOST])]
[MVCSwagSummary('Town section', 'Item create', 'CreateItem')]
[MVCSwagParam(plBody, 'town', 'TownObject object', TTown, ptNotDefined, True, ' { "name": "Zlín", "postcode":"76340" }')]
[MVCSwagResponses(201, 'Success, Data get new created ID')]
[MVCSwagResponses(405, 'Failed')]
[MVCSwagResponses(500, 'Internal Server Error')]
procedure CreateItem();
end;
Datum: 2024-05-21 20:31:00 Tagy: DMVC
Je to už neuvěřitelných 7 let, kdy jsem se zmínil o Delphi MVC frameworku a musím říct, že když jsem tehdy říkal, že mi přijde jako nejprogresivnější tak jsem nelhal.
Od té doby zrobustněl, bylo přidáno spousta funkcí (jako podpora swaggeru, JWT autentizaci, JSON-RPC 2.0, Cors a desítky dalších), nebudu to tady vyjmenovávat, ale přímo odkáži na github.com/danieleteti/delphimvcframework. Součástí archívu je spousta dem. Výhodou je taky kompletní zdrojový kód.
Cílem dnešního článku je ukázat jak jednoduše vytvoříte základní službu (celý REST full je podobně jednoduchý) odpovídající na vaše pořadavky.
Datum: 2021-10-14 19:47:00 Tagy: DMVC
Daniele Teti (pracuje myslím pro italské zastoupení EMBT) otevřel svůj MVC framework pro Delphi (primárně pro webové řešení) a musím uznat, že to má něco do sebe.
Domovská stránka: github.com/danieleteti/delphimvcframework.
Vlastnosti:
Ukázka:
unit RenderSampleControllerU; interface uses MVCFramework, MVCFramework.Commons, ObjectsMappers; type [MVCPath('/')] TRenderSampleController = class(TMVCController) public [MVCHTTPMethod([httpGet])] [MVCPath('/customers/($id).html')] [MVCConsumes('text/html')] [MVCProduces('text/html', 'UTF-8')] procedure GetPerson_AsText(CTX: TWebContext); [MVCHTTPMethod([httpGet])] [MVCPath('/customers')] [MVCProduces('application/json')] procedure GetCustomers_AsDataSet(CTX: TWebContext); [MVCHTTPMethod([httpGet])] [MVCPath('/customers/($id)')] [MVCProduces('application/json')] procedure GetCustomerByID_AsTObject(CTX: TWebContext); [MVCHTTPMethod([httpGet])] [MVCPath('/customers.json')] [MVCProduces('application/json')] procedure GetPersonJSON(CTX: TWebContext); end;