delphimvcframework/samples/articles_crud_server/WebModuleUnit1.pas

61 lines
1.5 KiB
ObjectPascal
Raw Normal View History

2014-06-27 15:30:39 +02:00
unit WebModuleUnit1;
2014-06-27 15:30:39 +02:00
interface
uses System.SysUtils, System.Classes, Web.HTTPApp, mvcframework, FireDAC.Phys.FBDef, FireDAC.Stan.Intf, FireDAC.Phys,
FireDAC.Phys.IBBase, FireDAC.Phys.FB;
2014-06-27 15:30:39 +02:00
type
TWebModule1 = class(TWebModule)
procedure WebModuleCreate(Sender: TObject);
private
FEngine: TMVCEngine;
public
{ Public declarations }
end;
var
WebModuleClass: TComponentClass = TWebModule1;
implementation
{ %CLASSGROUP 'Vcl.Controls.TControl' }
2023-09-01 12:49:10 +02:00
uses
Controllers.Articles,
MVCFramework.Middleware.CORS,
MVCFramework.Middleware.ActiveRecord,
2023-09-01 12:49:10 +02:00
MVCFramework.Middleware.Compression,
MVCFramework.Middleware.Trace,
MVCFramework.SQLGenerators.Firebird,
2023-09-01 12:49:10 +02:00
MVCFramework.Commons,
Controllers.Base,
Commons
;
2014-06-27 15:30:39 +02:00
{$R *.dfm}
procedure TWebModule1.WebModuleCreate(Sender: TObject);
begin
2021-02-04 14:11:33 +01:00
FEngine := TMVCEngine.Create(self,
procedure(Config: TMVCConfig)
begin
//Enabling the following line, the API will start to respond from "/api/v1"
//So "/articles/1" becomes "/api/v1/articles/1"
//Config[TMVCConfigKey.PathPrefix] := '/api/v1';
end);
2014-06-27 15:30:39 +02:00
FEngine.AddController(TArticlesController);
2021-02-04 14:11:33 +01:00
{$IFDEF TESTINSTANCE}
FEngine.AddController(TPrivateController);
2021-02-04 14:11:33 +01:00
{$ENDIF}
FEngine.AddMiddleware(TCORSMiddleware.Create);
FEngine.AddMiddleware(TMVCCompressionMiddleware.Create(256));
FEngine.AddMiddleware(TMVCActiveRecordMiddleware.Create(CON_DEF_NAME));
2024-01-24 00:14:26 +01:00
// FEngine.AddMiddleware(TMVCTraceMiddleware.Create);
2014-06-27 15:30:39 +02:00
end;
end.