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 si všimněte mého pojednání ř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ů.
Uvažujete o vývoji pro mobilní zařízení? V tom případě navštivte sekci FireMonkey.

Pokud Vám nestačí náš přehled komponent, 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?


Delphi DMVC framework - 2

vložil Radek Červinka 21. května 2024 21:31

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;

Více...

Tagy:

Delphi MVC framework - 1

vložil Radek Červinka 14. října 2021 20:47

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.

Více...

Tagy:

Komponenty | Server

Delphi MVC framework je nyní open source

vložil Radek Červinka 20. února 2014 23:04

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:

  • RESTful (RMM Level 3) compliant
  • Server side generované stránky za použití eLua (Embedded Lua)
  • Messaging extension using STOMP (to nevím co je)
  • možnost load balance via memcached (memcached.org)
  • Fancy URL s mapováním parametrů
  • Integravaný RESTClient
  • pro XE4 and XE5 (testováno, ale mělo by fungovat v XE3 nebo XE2)
  • Experimental podpora pro IOCP

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;

Více...

Tagy: ,

Novinky

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců