Web API with Delphi and DMVCFramework

"The perfect course to learn how to develop Web APIs with Delphi in a simple and fast way!"

Course taught by Daniele Teti, author of the official guide and lead developer of DMVCFramework

Duration: 2 days
Price: € 490,00 VAT excluded

Next course on 19 - 20 January 2026

Prerequisites:
  • Delphi Tokyo or higher

  • OOP (Object-Oriented Programming)

  • HTTP knowledge

Description

Accessing business data remotely is no longer optional. Your team needs to access crucial information, even when they are off-site. In this course, you will discover how simple (and efficient) it is to use Delphi to write RESTful/JSON services with DelphiMVCFramework. The course will cover all the key features of DelphiMVCFramework, the framework renowned worldwide for its speed and simplicity. The workshop includes the real development of a complete RESTful server and a JavaScript web client! This is the perfect course for you if you want to learn how to develop Web APIs with Delphi quickly and easily!

Contents

Introduction to DelphiMVCFramework

  • Why DMVCFramework is the most popular framework on Github? What makes it unique?

Developing Web APIs with Delphi

  • Controllers

  • Actions

  • Action Filters

  • Routing

    • URL Mapped Parameters

    • Strongly Typed Parameters

    • QueryString parameters

  • Attributes that make DMVCFramework easy to use

    • MVCPath

    • Support for regular expressions in MVCPath

    • MVCHTTPMethod

    • MVCProduces

    • MVCConsumes

    • MVCDoc

Preparing Responses for the Client

  • JSON

  • DataSet

  • Binary

  • Text

  • Stream

  • HTML

  • Custom

Functional Actions

  • Render Methods

Designing a DMVCFramework Application

  • Designing RESTful Web APIs

  • Push Notifications and Server Sent Events

  • Middleware

    • Basic Authentication

    • JWT Authentication

    • Implementing token expiration with the new TMVCJWTBlackListMiddleware

    • Creating custom authentication and authorization mechanisms

Server Side View

  • When and how to use Server Side View

  • Introduction to TemplatePro

    • Syntax

    • Usage scenarios

    • Integration with DMVCFramework

  • Developing server-side applications and websites with DMVCFramework and TemplatePro

Integration with HTMX

  • What is HTMX and why is it a great complement for DMVCFramework?

  • Developing modern web applications with (almost) no JavaScript

Analyzing Performance

  • TMVCActiveRecord: OOP and relational finally work together!

    • Persistence and mapping

    • CRUD

    • Managing complex merges with TMVCActiveRecord.Merge and UOW

    • Queries with RQL

    • Complex queries with SQL

    • Relationships

    • Simplifying transactional code with TransactionContext

  • Dependency Injection with MVCInject

    • Defining an injectable service

    • Injecting services into controllers

    • Injecting services into other services

Best Practices

  • Sqids: what they are and how to use them effectively in DMVCFramework

    • MVCSerializeAsSqids attribute

  • Automatic configuration with .env

    • How .env works

    • What DMVCFramework offers

    • All default configurations recognized by DMVCFramework

    • How to define specific configurations for different environments (e.g., dev, test, prod)

    • Using .env in any type of project

Usage Scenarios: From Micro to Macro

  • RESTful services and/or JSON-RPC

    • Using the MVCJSONRPCAllowGET attribute to allow JSON-RPC services to leverage caching

  • Communication 360°: From the same machine to the internet via LAN

Writing Clients

  • Writing a web client with JavaScript

  • Writing a mobile client with Delphi

Converting Services

  • Converting a SOAP service into a RESTful service

  • Converting a SOAP service into a JSON-RPC service

Analyzing Performance

  • Profiling with Profiler.Start

  • Profiling portions of code with Profiler.Trace

  • Simplifying deserialization of complex and composite data with the new MVCOwned attribute

Best Practices for Accelerating and Optimizing Development with DMVCFramework

Scroll to Top