MARS-Curiosity Delphi REST Library
Pascal Assembly PHP HTML JavaScript CSS
Switch branches/tags
Nothing to show
Clone or download
andrea-magni * removed IFDEF in TMARSActivation.CheckMethod, now using TWebRequest…
….Method property in order to support http verbs not captured by TMethodType enum type (i.e. OPTIONS)

* added System.JSON to MARS.Data.FireDAC.Utils.pas in order to avoid missing inline hint
Latest commit db471c0 Jul 19, 2018

README.md

MARS-curiosity logo

* The Delphi stylized helmet icon is trademark of Embarcadero Technologies.

MARS - Curiosity

Delphi REST Library

Build your REST applications (server and client) with my library:

  1. lightweight: no dictations on your application code, no heavy dependencies, take what you need of the library;
  2. standard: build Delphi REST servers to be consumed by other technologies (including web apps, .Net, Java, php...) and build your client applications against any REST server;
  3. Delphi-like: built using modern Delphi features and enabled with Delphi-to-Delphi specific facilities to get more power!
  • Compatibility: Recent Delphi versions (from XE7 up to 10.2.2 Tokyo) (older versions should be quite compatible)

Get started

  • Grab a copy of MARS (git clone or download zip)
  • Add three folders to your Library Path:
    • [MARS Folder]\Source
    • [MARS Folder]\ThirdParty\delphi-jose-jwt\Source
    • [MARS Folder]\ThirdParty\mORMot\Source
  • Packages (example for 10.2 Tokyo Enterprise):
    • Open [MARS Folder]\Packages\102Tokyo\MARS.Enterprise.groupproj
      • Build All
    • Open [MARS Folder]\Packages\102Tokyo\MARSClient.Enterprise.groupproj
      • Build All
      • Install MARSClient.CoreDesign
      • Install MARSClient.FireDACDesign

(please correct accordingly to your Delphi version and edition)

Demos and MARSTemplate

  • Try some demos (i.e. "Demos\HelloWorld", "Demos\Authorization", "Demos\FireDAC Basic")
  • compile and run the MARScmd_VCL.dproj in [MARS Folder]\Utils\Source\MARScmd, it will help you to create your first project by cloning "Demos\MARSTemplate" into a new folder

Map (list most functionalities and concepts)

PDF | PNG MARS map

Contributions

This is an open source project, so obviously every contribution/help/suggestion will be very appreciated. Most of the code has been written by me with some significant contributions by Nando Dessena, Stefan Glienke and Davide Rossi. Some of my customers actually act as beta testers and early adopters (I want to thank them all for the trust and efforts).

Andrea Magni