Flexbase
  • Flexbase
  • Introduction
  • #JoyofCoding with Flexbase
  • Core Concepts
    • Flexbase
    • Flexstudio
      • Commands & Events
  • Thinking in Flexbase
    • Features and Modules
    • Designing APIs using Flexbase Control Flow
  • Sample Application
  • Solution Structure
    • Getting Started
      • Application
        • Introduction to Solution
        • Demo - Solution Generation
        • Solution Structure Overview
        • Architecture Overview
        • Clean architecture layer
        • Common Configurations
      • Features
        • Understanding Feature
        • Use Case
        • First Feature - Add Customer
        • Second Feature - Update Customer
        • Third Feature - Delete Customer
        • Query Features
  • Input Output Models
  • Messages
  • Domain
  • Pre Bus
  • Post Bus
  • Subscribers
  • Bus Gamma
  • Persistence
  • Hosting
  • Startup Code - WebAPI
  • Startup Code - Background Job
  • Endpoint - AppSettings
  • Bridge
  • Basic CRUD - Insert & Update
  • Introduction
  • View Generated API Definition in Swagger
  • Walkthrough Generated Code Insert
  • Walkthrough Generated Code Query GetById
  • Domain Model
  • Migration
  • AppSettings
  • Bus : How Basic Routing Config Works
  • INSERT : Input API Model
  • INSERT : Attribute Validation
  • INSERT : Plugin Validation
  • INSERT : Mapper
  • INSERT : Controller
  • INSERT : Services
  • INSERT : PostBus Handler
  • INSERT : PostBus Subscriber
  • INSERT : Demo In Action
  • QUERY : Output API Model
  • QUERY : Build and Fetch Pattern
  • QUERY : Demo In Action
  • Basic CRUD 2
    • Introduction
    • View Generated API Definition In Swagger
  • Walkthrough Generated Code Update
  • Walkthrough Generated Code Delete
  • Walkthrough Generated Code GetList
  • Walkthrough Generated Code Get Paged List
  • Update In Action
  • Delete In Action
  • GetList In Action
  • GetPagedList In Action
  • Konarch
Powered by GitBook
On this page

QUERY : Output API Model

BasicCRUD Insert Query with Bridge

PreviousINSERT : Demo In ActionNextQUERY : Build and Fetch Pattern

Last updated 4 years ago

Now let us understand the query. So the first thing that we will look at in the query is the output API model.

We have the output API model in the customer: GetCustomerByIdOutputAPIModel. This was the feature created as GetCustomerById of type GetById. So we are maintaining a unique naming convention across the application. Lets create the output fields as Name and DateOfBirth, for the customer query.

public class GetCustomerByIdOutputAPIModel : IFlexOutputAPIModel
    {
        //public string Id { get; set; }
        public string Name { get; set; }
        public DateTime DateOfBirth { get; set; }
    }

Let us see how it simplifies the query in the next section. And this output API model Needs to be mapped with the domain model.

public CustomerMapperConfiguration() : base()
        {
            #region Input

            //Sample:
            //CreateMap<YourAPIModel, YourDomainModel>();

            CreateMap<AddCustomerInputAPIModel, Customer>();

            #endregion

            #region Output

            //Sample:
            //CreateMap<YourDomainModel, YourOutputAPIModel>();

            CreateMap<Customer, GetCustomerByIdOutputAPIModel>();


            #endregion
        }

Whenever query be executed, the customer is mapped to the GetCustomerById output API model.