Delphi.cz

Český portál Delphi

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?

Delphi DMVC framework - 2

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...

Datum: 2024-05-21 20:31:00 Tagy: DMVC

Delphi MVC framework - 1

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...

Datum: 2021-10-14 19:47:00 Tagy: DMVC

Komponenty Server

Delphi MVC framework je nyní open source

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...

Datum: 2014-02-20 22:04:00 Tagy: web, DMVC

Novinky