DelphiMVCFramework
Published by : Leanpub
Writed by : Daniele Teti
Published date : 15/09/2020
ISBN-13 : 9781312680906
Language : English
Web site : http://www.danieleteti.it/post/dmvcframework-the-official-guide-hardcopy/
About DelphiMVCFramework
DelphiMVCFramework is a solid and proven framework to build websolutions. If you ever think to build a distributed system, DelphiMVCFramework is one of the best choice you could do.
Where to buy ?
This book has the ISBN13 "9781312680906".
If it is still available for sale, you can order it in your favorite bookstore, by its publisher or online at
Amazon CA,
Amazon FR,
Amazon JP,
Amazon UK or
Amazon USA depending on your country.
Table of content
Foreword
What is the Delphi MVC Framework, and why does it matter?
Reviewers
What users say about DMVCFramework
Fetching This Book’s Code
Using This Book’s Code
Book Release Notes
Chapter 1: Getting Started with DelphiMVCFramework
What you’ll learn
DMVCFramework is “batteries included”
Installation of DelphiMVCFramework 3.2.1-carbon
Your first RESTful server with DelphiMVCFramework
Your first DMVCFramework-style “Hello World”
Built-in System Actions
What’s Next
Chapter 2: Controllers and routing
The Router
MVCPath attribute
Handling Parameters
Query-String parameters
URL mapped parameters
Multiple Paths for a Single Action
More about URL Mapped parameters
Strongly Typed Actions
MVCHTTPMethod attribute
MVCProduces attribute
MVCConsumes attribute
MVCDoc attribute
Action Filters
What’s Next
Chapter 3: Renders
What you’ll learn
The Rendering Phase
Rendering Data Must be Simple!
Rendering Objects and List of Objects
Customize Objects Serialization
Rendering TStream descendants
Rendering Nested Objects
Serializing TDataset descendants
Rendering Dictionaries
Rendering images, pdf and other binary contents
Rendering Exceptions
Rendering Custom Data Structures
Support HATEOAS in your APIs
Deserialization
Deserialize Simple Objects
Deserializing List of Object
Deserializing Hierarchical Structures
The IMVCList Interface
Sending Binary Contents
Using multipart/form-data
Custom Type Serializers
Using custom serializer
What’s Next
Chapter 4: Municipal Library System - The Database
What you’ll learn
The Municipal Library System
The Database
What’s Next
Chapter 5: Municipal Library System - The APIs
What you’ll learn
APIs design Overview
Design an API for the Books Lending System
The actual APIs
What’s next
Chapter 6: Municipal Library System - Creating APIs using Datasets
What you’ll learn
The CRUD acronym
Implementing the API using datasets
What’s Next
Chapter 7: Municipal Library System - Creating APIs with MVCActiveRecord
What you’ll learn
The ActiveRecord Design Pattern
ActiveRecord in MVCFramework a.k.a. MVCActiveRecord
What’s Next
Chapter 8: Municipal Library System - Complete APIs with MVCActiveRecord
What you’ll learn
WebModule Configuration
Establish a Database Connection
TAuthorsController
TControllerBase
Handling pagination in TCustomersController.GetCustomers
Terminate a lending
Users management with TUsersController
What’s Next
Chapter 9: Authentication & authorization
What you’ll learn
Authentication vs Authorization
The Authentication/Authorization Subsystem
Securing an API
HTTP Basic Authentication
JSON Web Token Authentication and Authorization
Accessing Logged User Information
What’s Next
Chapter 10: Middlewares
What you’ll learn
What’s a middleware?
The IMVCMiddleware Interface
Built-In Middleware
CORS Middleware
Compression Middleware
Analytics Middleware
Trace Middleware
Static Files Middleware
What’s Next
Chapter 11: Municipal Library System - Authentication and Authorization
What you’ll learn
How to choose an authentication schema
Defining a roles system
Create a Python client
What’s Next
Chapter 12: JSON-RPC: why, when and how use it
What you’ll learn
JSON-RPC Overview
JSON-RPC 2.0 Requests
JSON-RPC 2.0 Notifications
Response Error Object
JSON-RPC vs REST
Publishing PODOs
The MVCInheritable Attribute
Inspecting the published methods
Defining Hooks
What’s Next
Chapter 13: Tips and Tricks
Tip #1: Redirecting users to a different URL only when are using browser
Tip #2: Don’t load system controllers
Tip #3: Remove X-Powered-By Header
Tip #4: Change or remove the Server Header
Tip #5: Testing API using Python
Tip #6: Storing users password