Mastering .NET 8 Minimal API : CRUD Operations with AutoMapper and JWT Authentication

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Hello friends and everyone welcome back to net  code Hub channel in this video we are going to   have an extensive look at minimal API do you  actually know Minima API or have you heard of   it before why would you choose Minima API over  standard API or traditional API in this video we   going to cover that I hear people say I would  choose standard API over Minima API but trust   me after watching this video you change your  mind you don't follow them you choose Minima   API over traditional or standard API first of all  before we Dive Right to this you must understand   what an API is and why you have to choose Minima  API over standard API before I tell you that make   sure you have subscribed to this Channel and hit  on that Bell to receive update as soon as I do   upload new content like this video to support this  channel too as well I do offer coaching sessions   to people who are interested in Blazer not even  Blazer al.net talking about API hybrid talking   about blizz hybrid Mari and Etc so if you're  interested get check the video description I   have an email that you can write to me through  it the source code of this project will also be   available so you can also go in there and grab  it for review now let's get to business Minima   apis were introduced in net States and further  redefined in net 8 that is a current framework   that we are all using Minima API I aim to stripe  away the complexity of traditional asp.net core   MVC models whereby you have controllers forther  you need to create controllers you need to create   dependen injection a whole lot minim my API get  rid of those and make it simple for now say good   buy to extensive configurations and controllers  because Minima API focuses on just what you need   then the next question is why do you have to  choose Minima API over traditional API one it   is efficiency write less code and achieve more  two is performance these apis are lean mean and   optimized for high performance scenarios they  do not require much code simple one and you're   good to go and lastly it is easy to use even if  you're new to net Minima API is accessible and   easy to grab it so you know we say Minima API it  is Minima code for API the code is lean minimal   simple and straightforward more efficient  than the normal or traditional API and also   more features have been added so in this video we  get to know some of these features in it then how   are you going to focus on this API um to precise  minimal API we're going to have a look on three   things in here the first thing that you're going  to have a look here is to create a crowd operation   on my API talking about car I'm talking about  create read update and delete operations with   repositories and services using SQL light  aside from that you're going to configure   a dto with automapper and lastly we're going to  add GWT authentication so if you stay tuned and   finish watching this video you'll have the basic  of this and trust me you love Minima API as I do   all right so let's start we're going to create  a project in here and that's going to be Min my   API project as I speak we have V Studio 2022 and  that is what you're going to be using for this   lesson all right so launch Vis 2022 or higher then  we're going to create a new project in here we're   going to choose asp.net cor web API so click  on that next then let's give it a name as demo I like to use minimar API or maybe you can add CRA and authentication  right we're going to cover everything in here   so let's make it minimal API we choose  location for the project and I we click   on next to get this created now the next  stage that we need to configure here it is   for Authentication you're going to maintain  it as none because you're going to create   your own one then when it come to the last end  here use controllers this is a traditional one   you want to get rid of that you want to use  Minima API so if I click on this information   icon it tells you that use controls instead  of Minima API so if I uncheck it means I want   to use Minima API so make sure you uncheck it  because we don't want to use controllers okay   you want to use the new one that's the Min  my API click on create to get this project created so when you check the project solution  you can see that we have a Minima demo Minima   API as a solution name and as the same name  for the project itself as well when you check   this this is a Minima API project and when you  compare this to the traditional one you you see   here this is Lan right a lot of things have been  removed example here it is a folder known as a   controllers there's no controllers folder it is  out now everything that you're going to do here   is going to happen in the program.cs file okay so  if it is a service if it is your endpoint us your   configuration everything can be in here while  you can also decide to create an extended class   and map it in here as well but for now we going  to do everything and you're going to perform a c   operation in here okay so once you have this we  need to build this application and I inst to our   packages and I'll start um going with it but when  you check this program. CS file you see we have a   default one and that is an app. map get so this an  HTTP get VB and now this is an endo as a weather   forecast maybe you can decide to remove this  cuz we we're not going to use we can clear this off okay yes so we don't have any um end point  here configured we're going to do our own in   here okay now once you're done with this we can  close save this close it and let's build this project once the project is built can see all  these errors are gone we don't have any error   again now what we're going to do next is to  install our packages we're going to be using   for authentication for our c for our autoa  and Etc Okay so that I have this project   this packages reference I have them in here so  I'm going to right click on the project go to   unload project so I can add these package  references well if you're not having them   then you can right click on this go to manage  n get packages and as usual you pass in the   name and you install these packages so you  pause the video whil I unload mine and I in here we need these packages for this tutorial  let's say we have we need an automapper and we   need a bri. net. nest so this is going to be  using for encryption or the user password as   soon as you create an account to our system we  have system. identi model. token. JWT we have   EF microsoft. C authentication JWT bear we have  Iden model. tokens and EF cor SQL light and our   tools so these are the packages that we will  need I think um eight packages so 2 4 6 eight   packages that you need to install um for us to  get going so pause the video and try to install   these packages all right so let's say you are  done I click on this and I'm going to click on   reload project with dependencies to get these  packages installed after doing that I can click   on dependencies click on packages and once I wait  for them to get installed yeah you see they are so   I have all these packages in here that's fine so I  can now close this a c operation that you're going   to create here is going to you're going to use  maybe a product yes product model so maybe this   what you need to do first we're going to create  um a folder for organization purpose we're going   to organize our work we're going to create our  repost our services and I inject them into our   apis add authentication configure Auto MPP and  that is all okay so right click on this we're   going to add a folder to this and the name of this  folder going to be here is let's have data folder   and now with this we need to create our abdb  context class with database connectivity but   for this we have to first create our model so I  click on this let's add another one in here this   is model now within this us we're going to have  our entity and our dto so maybe this could be entity then the same folder  you're going to have maybe and dtos so let's create an entity  and this going to be for product so I'm going to say this is product and now in that product you're  going to have these properties for this   product you have an ID name description  price quantity and out date all right   for us to get rid of this um warning  warning warning St let's go to program   the program the settings in here and  now this we want to we can disable this and now when we disable this I think yeah  that is off now the next thing we're going to do   here is we need to create a appdb contest so let's  go to our data folder now let's create a class and   this is appdb contest responsible for uh database  configuration so in the appdb context what are we   going to um do here this class has inherit from DB  contest class and now DB contest class inheriting   from is coming from EF core so we have to inject  that name space microsoft. EF core so from that   we need to create Constructor for this which iner  from the base and we need a table for our product   so by the help of primary Constructors we can  use a primary Constructor instead of using this   normal one so control period we can use primary  Constructor here and get rid of the Constructor   itself okay so this is done we have it and the  database table name is going to be a product and   we have going to be using this properties in this  product or this model as columns so we have that   okay now we need to create our connection string  in the ab. Json and that is where we need to   configure our database connection string So within  this what are we going to use for database you   know we using SQL light so we want to have product  DB as our database name okay once you're done with   this we need to register the connection strings  in the appdb not the appdb not the program. Cs file so in registration is very simple we  have to register it so we have our Build   services. addb contest we pass in the class  that we created then we're going to use an   SQL light to specify the connection that we  created as a default all right so once we   done with this we can now save this and  I perform database migration but before   we do that let's make sure we build this and  make sure it is working before we try to add migration yeah that is it so we go to tools and go  to package manager and we want to have the console   so let's go in there and I'll add migration  give it a name a name at all so add migration and I'm going to say this is first that it's going   to create a file a class known as  first and after that you're going   to update it to create a database table  and the various columns first so update database yeah that is it so we have our table  created now when you check you see we have the   database file being added in here that's fine  okay so once you done with this the next thing   that you need to do here is to create our DS and  our repost and Etc okay so first of all you go   to the model and now in the d2s folder we going  to add a class and now with this class we need   to create a product response uh um class which  going to transmit or going to contain message   from the um database when operation has been  performed and to the user so let's give this   name as just response it's a class and now this  class we're going to change it to dto now this   going to have just a flag and our message and  that is all okay okay so once is then with this   we can save that and we're going to create  our repo now this let me add a folder for   this and I name this as repositories now with  this repository I want to have this contract   or an interface in here and is going to be i  product so choose an interface give it a name I product i product repo okay so with this I product reple what are some  of the interfaces that we going to have or we   need in here since you're going to perform  C we need to add we need to update we need   to get all we need to get by ID we need to also  delete it all right so within that you're going   to have the first two method and that is an add  an update now this add and update they all have   a return type the return type here it is the  response so we're going to add the response   um DET to that we created in here so we have  our response here as a dto where we're going   to um have the message from the database to  the user but when check here you can see we   have ADD request GTO and also update request  GTO you know talking about D we have request   and response dto request is what you need from  the user the database and our response is from   the database to the user now in that you need to  add data or in a form of a product to database   and so this product here it is coming from the  user and in this case it becomes a request when   you make a call get all list of product and  is getting from the database to the user it   is where we use the response so here we need to  create an add request and also we need to create   an update request okay so let's create this dto  and you can do that in the dto folder so model dto so add request now with this add request what  are some of the properties that we can have in   here maybe we can just have a record for this and  now this record we can have name description of a   product the price and the quantity so we can have  this name description price and quantity that's   all we having in the add request dto now let's  create the next one that an update request D2   so we're going to create this as a class that is  a name and now this is also going to be a record   whereby we're going to specify what we need we  need need an ID we need name we need description   we need um price and quantity so here we've added  the ID because without the ID you cannot make a   set so we have this in here okay when we go  to our IO we can now inject user name space   and that is all okay we need to add a next one  so let's also create a product response dto so   this is going to come from add a new class then  we say response dto now this response dto we can   have a record class we have this record and now  with this we having the name description price   quantity then we having the time but that you  also have one property that we are populating   it based on the input of the parameters we are  having the total price and it is this normal   price that we have in here multiplied by the  quantity that we have in here so you can see   that the request D and the response are not the  same yes they are not the same okay so once you're   done with this we can go ahead and I'll add the  next interfaces and this come from the I repo so with this you know what we are doing  we're getting a list of this response   and here we also getting by ID then we're  going to delete it and I return a response   okay so now we done with this we need  to create an implementation for this   so we going chose the same report  we're going to create an product repository and it's going to be product repo and this going to from IO whereby we   can implement the interface in here  so we have these interfaces that we created that's fine before we implement the  um various U repository in here we have to   create the automa part configuration file  because here we're going to map them you   know when we talk about the payload that is  for the ad it is an ad and the model itself   it is a product model so we need to convert  it into um a product mod before we can add   it okay so we don't want to um explicitly do  it ourself we want this package to help do   it so we click on this let's create we can add  a folder for this one and I will name this as automapper now this automapper we going to to  add a class for this maybe we can name it as   mappa configuration file in that we need to create  an Constructor for this and in here we going to   map three things in here now when you have a look  here we have this create map now with this create   map what are you mapping and if I open this you  know we have okay we need to let's see what you   have this package this package has to from this  profile okay now if I open this we have um have a look okay so you can see that we have a  t source and destination so the source is   which one do you want to convert to which one  we want to convert this that is a source that   is what it has a current data we want to convert  it to the product form so we can add it to the   product so that is the T source and now we have  the T destination the same applies to this and   that okay so we canver this and that to the same  um product and now here when it come to that a   get list we want to convert this product from  the database as a response to this D okay so   once we done with our configuration we can go to  our repo prod that repo and I'll start with our implementation so the first thing that we're  going to do here is we're going to add now once   adding we're going to map it but before we do  that we have to include it so let's use primary   Constructor so IM mapper then we say map let's  add mapper okay so we're going to map this we   need also inject app DB contest class and then  we say DB contest so we have that we add it we   we map it then we add and now when it gets to  get all I can just let me just grab this in here very simple simple ones so this is get all  we're going to map it into a list from the two   uh this respondo and now it is coming out you're  going to map so this a destination and then here   we have the source the source is a list from the  database and the form of the model use here it   is a product so we are mapping to respondo from  this product the same thing applies to this so   here we want to get by ID so the response of this  we going to map it to this response when it comes   to the update we're going to map it since we  have this update request it we're going to map   it to a product then we're going to update it in  here save changes and I return this new response   okay now the last one here it is delete so if I  want to delete what can I do you know we pass in   ID and it returns a response so we're going to  find it from the database and now when you get   it then going to remove it save it and I return  to deleted okay so this is a simple repo for our   card operation on product okay now once we've done  with this we have our repo we have an interface we   have our impation created we need to now create  a service to render this one a UI okay so let's   say when using clean architecture you have to  create service and this service will be the HTTP   call and um this what you can be using to make  a call to the rppo and I get the response to the   UI so let's create a service to handle that we're  going to add a new folder in here and I name it at Services now this Services we going  to encapsulate the interface that we   created so this is going to be new item  interface and then this is i product service now this i product service we can quickly  go to the iuct repo we can just grab this one you   go to the IU service and I P it in case you have  any extra one you can add them in here let's   create an interface for this not implementation  not an interface okay so you're going to say this   is product service and as usual you know this is  inheriting from i product reple we can implement   the interface right away from here now with this  one we need to inject our interface or the repo   and this this is going to be the i product repo  so we can create it as product then with all   these that we have we can um replace it it's  very simple one have a look you can see this   is ADD we call this product then we add this is  delete product and UND delete so the interface   that we created that is what we are utilizing in  here okay so the noral noral sent if it is a UI   I want to make a call um you have to make use  an HTTP call um to do this but since we having   everything in our API there's no need for that  so we can quite directly in here okay so now   once you're done with this we have to register  in the program. Cs file so before this app build   let's register or create depend injection in  here so Builder do services. adcope and now   this cope what we can do first is i product repo  then we pass in implementation we do same to the service so I product service then put that service okay now we've been  able to create our services and our repost   now we've injected them in here we've we've  created dependency injection that's fine the   next thing that we need to do here is to create  our end point okay so there's no need for us to   create a controller folder and I'll be adding  a whole lot of stuffs we're going to do it in   here so before the app run that is where we need  to configure our endpoint so in our endpoint we   want to just have app. map get so this is  a get method and now there is a this is a   route so slash getet product and since it's  an asynchronous tax we have to use um async   and here you know we have a service to be used  so we have to inject this service in here okay   get the service and now you can go ahead and  use a service as to return the HTTP status code   the same applies here but here we start with  returns results dot then we specify the call   in here very simple one soide from that we are  adding an authorization to this you see so for   now maybe we can decide to get rid of this and  see if this is working then we talk about adding authentication so let me clip this and C the last one yes so that is this now we have our endpoint  created so when you have a look here there is a   map get this is also get this is post this is  put I believe you know this traditionally API   so you know um this HTTP verbs already so with  this that we have see we have the delay in that   we specifying the route name and now we have the  update product add product get product get product   so we can have get product in here and now the  ones that we need to specify the parameters we   can see we specify it as an ID we specify this  as an ID as well as a delete then we come to the   as innous key right then you inject your service  that you have add your um parameter then you can   um call the prodct server. delete ID in here so  can see this is very simple the same applies to   the update product so when you compare the  traditional API the traditional controller   creating a whole lot a bunch of code for this  and now checking up this which one is much   more cleaner that is this one and it is also  very easy to understand that yeah so that is   it all that you need to do here inject your  service in here passing your parameter and I   return okay with it with the results that you  have in there yes very simple okay now we have   this let's save this and now let's run it up and  I'll check it out and see our Endo that we have created I believe you're aware that you're  going to have an error here because we did   not configure a service for the automapper  yes so let's configure it so services. add   Auto mappa then we specify the type of the  class that we created that's the configuration   file that we created that's the mappa profile is  specify in there and I believe from now onwards   there won't be any issue what do you think  let's see this let's run this and check it out yeah that's fine so you can see that here  we have the end point ready so when you check   this with the few lines of code now we have  these end points ready see this few line of   code here we have this end point um exposed  and we can have access to this end point so   if I try to get our product try this out  and I'm going to have empty empty list you   see and aside from that we have by ID we  specify an item here and now we can um do   that all right so let's try this and see  we're going to add a new product so add product so that is this product let's specify  the price in here that's 10.50 quantity is 47 so let's have something in here okay now  execute this and I we have it saved so this is   a return type and I we have this flag in here and  we also have I message that's a response let's see   if I want to get all execute we have to get this  aside from that if I click on get by ID specify   the ID as one we must able to get it let's go  for the update if I want to update this I need   to specify an ID of one and the name here this is  T already so for description you're going to say   um I'm going to say freshing box Okay so so for  this price I'm going to increase this a little bit 2074 click on execute this now updated if  I click on get all product again you you see I   have it updated now if I go to delete you can see  that from get all product we have the total price   added to this multiply the price by the quantity  we have it added because of the D2 class that D2   record that we created you know when you go to um  add we have a limited properties in there because   we not going to add total price we going to add  date all to provide here it is a name description   price and quantity that is all that's what you  see here now what of the delete if I click on   delete this specify the ID of one execute this  deleted and if I want to get a whole list again   let's see what going to happen the idea of one it  is no more also we can specify execute this and   it is n so you can see that we have an endpoint  uh the same as a traditional endpoint with less   code less configuration and boom we are done all  right let's go to authentication systems how do   you authentication to this now we've installed the  packages already so what we're going to do here is   we're going to configure this create our service  and I'll try to um login user and protect the   endpoint um authenticated before calling um this  endpoint that we have created let's close this up so in here we're going to add our configuration  settings from the program. Cs file so let's go in   there and do that in there so that is this one  program. CS now on top here we're going to add   a configuration as normally we do when creating  or registering using DT um be so we have to build   services. authorization and this very important  um when adding and required attribute okay and   also for the WT we're going to add authentication  then we're going to specify the validate issuer   signing key audience and Etc so here you want to  grab the issuer from the app settings you want   to grab the audience from the asset app settings  here you want to also grab the key from the app   settings you want to encrypt the key get a bite  out of it and that's what we're going to use as   a issu signing key to encrypt it and to use in  the creating of the token okay so once you're   done with this one we have to also by means  we going to authenticate the Swagger so we   need to add a swager settings to this so we can  can expose an authorize attribute on top for us   to have access to and now with that what El you  need to do here is to add a services. swag gen   we specify this option in here as a swager doc  so the version here can give it any name title   any description any then to add description thep  definition to the Beer as a scheme and um the type   has an API key um the format GT and now where do  you want to keep it in the header okay so that's   what we need to do in here the same thing applies  to this and that is all okay so once you're then   adding that what we're going to do next year is  to go to the abent then we need to include or   use reference our um J section in there that  is the issuer the audience and now the key   this is what we're going to be using for this  authentication so we can have them in here how   do you get your Port how do you get this you can  get this a random string that's it must be secret   so you can just go to random string.org we can  have access to this random strings in there you   can grab any or you can also create your own and  now this part you go to the pro is it the program   not the properties L set adjon and you can now  have access to it from the HTTP section let's   grab that go to a response not the response  go to the assant and I'll make sure you place it yes so that is this one all right so once we  done here we need to create a model to handle   this let's user want to log in you must first  register an account then we need to log in   and after logging in we have to create a token  for you and return it to the user that's very   simple steps okay so let's see how to create  this but first of all we have to work on the   model so let's create a user model and with  this user model we're going to put it in the entities so this is user and now with  this user you want to have an ID the   name email and password so these are the  few properties that we need from a user   and after that we need to create our DW  for logging in and also for register okay   so let's create our dto and you can put that  in the dto folder or we have to put that in there so let's say this is login dto this must  be a record and now this record we need only   email and password we need to also create same  for the register so let's say this is register   dto let's create a dto for that so add class  PR ID o and now in that we need name email   and password that's what we need for someone  to get registered in our system maybe we can   decide to create a simple respon for login  and this response going to have a property   to contain the token soon as the user already  logs in so let's add the class to this that's   a ling response and you know is a record class  which has three properties flag token and our   message so first of all let's go to the mapper  now let's map this because the payload that's   going to be the register dto when wants to  register we want to convert it to a user   model so we have it here we have to create  the map in here okay so that's a t source   and that's a t destination what with this  let's go to the data folder and I want to   loc the up set Jon the updb contest and now in  there make a duplicate of this and here we say user and that is users okay now let's  create our repo for this I account repo and this an interface and now with this we just need two  lines of interfaces and that is a   register and our login we need  to create implementation for this so we going to add a class of this  rep three and there going to be an account repo and as usual I know that this account triple  has in head from the interface I account Trio and   I that we need to implement the implementation  before that let's inject appdb contest Auto so we inject this and they are ready I and  so I configuration so we can have access to the   app setting. Json okay now let's have log so in  case I want to log in what am I doing first you   want to create an method to check or find user  by email so maybe we can have this method down here now this method finds the user through the  email from the users table then we check with the   email and I return before that you want to convert  this email to lowercase before you make a search   aside from that we want to check if it is found  we want to um verify the password so we using the   packet that we install b.net verify password we  passing the current password and I already saved   and cped password if it is through then we're  going to generate a token so in order to generate   a token we must create a separate class to handle  this and a token generation method has to return   a string when you check here we passing the user  model that we have in here and that's going to be   if the user logs in when we confirm the password  and it is okay it's me the US authenticated we   passing the model in here and now with this we  want to just grab the key from the upsettin s   from that you want to repair the credential going  to enip this then we have to prepare the claims   so here you want a full name to the username we  want an name to the email and add the email to it   email so you have these Keys these are types these  are the values we have now we need to prepare the   token so we specify the issue at the audience the  claims and iir it we're going to add the day then   we want to return this token and this returns a  string that the reason why the return type is a   string that is all we're going to return a new  login response we passing through as a success   and this is the token that we have in case the  user does not exist then you want to display this   to the user now when it comes to the login or the  register what can we do it is quite simple let's   see with this all that you to do here is you want  to find user by email the class that you created   you want to it again in case it is not found in  case it is not now then we're going to say user   already registered but in case it is then I want  to convert this dto to user model and I um ENC   the password and I'll save it very simple okay so  now we done with this we need to create a service   to handle that so in our service folder let's add  I account service there going to be an interface now this icon service what we can do here is  we go to the report we going to grab the two in here paste it now aside from that we need  to create the implementation this is account Trio that is a service not repo and this service has to  inherit from account service   where about we need to implement the interface of this as we did for the first one  we can also do same in here very   simple one two lines of code and AR  re that so we call this login we call   this register before that we need to  include the interface or the in the Constructor yes and that is all we  need to also make um registration   and create dependency injection in this so what we have our Builder configuration  we're going to say build services. add scope and here we need an i account   Ripple which has the implementation  of account triple we also need the service which as implementation of the account service now let's go to the program where we have our  end point and we need [Music] to add the M plan   for authentication and authorization aside  from that we need to method to handle this   and maybe on top here we can have a simple  two end point to handle that so we have map   post and there's a payload that's coming in we  have the um service in here and I that we want   to cut it a line of code we'll get it done  now this to we want to allow anym it tells   you that everybody can have access to whether  you have token or you do not have token you   can have access to this that's the reason why  we made it allow NM okay the same applies to   login is your post and now this is a payload  this is a service and want to anous so that   comes in the case whereby I need to add so make  maybe you see this a lot Anonymous this requir   authorization so with this tells you that soon  as you call this you going to have 401 status code so now let's add them maybe we asking me that why did die  display okay okay okay okay why because   we handled we are handling our exception  exception manually when you check our repo   you know we are stating that in case us is not  found do this in casee it is found do this in   case is not do this so as soon as it gets to  that end database connection is created and   I it tries to find it and it couldn't then we  have an exception in there and want to handle   it manually in this case that's the reason  why you want to return an okay so we can um   D structure that and we can extract the message  and display in the UI or any any any service that   it consumes any U that consumes this you can  display it in there okay so now we have this peacefully we can save this now  let's run this and check this out so this is ready now if I click on get product  execute this you must have 401 it means you're not   authorized now let's register an account in here  we're going to use the same thing so register an account okay so you have an issue no sear  table found because we did not perform database   migration let's save this um build this solution  and I add migration to this to create the user table and now add migration so from that update database and this is done so let's  go ahead and run this and see now we're going to erase an account now let's check it out so it is  created now let's log in and have our token now we specified an email  and password the same thing click   on execute and I can see we have this  so this is our token let's grab this token then let's go to authoriz typ in be space and I I paste the token click  on Au and now check it out get product you can see we have  it that is null let's add one to so if I click on execute this we have it add it now see we have the same item in here appearing  twice so we can now go ahead and now delete one you see so before we delete you  have to make sure you have an idea   of that product and now but here we not  having the ID so how possible can we say   okay so maybe we can have a look at that  later on if you want to delete it because   for delete you need to specify 90 that  okay so maybe in here we can try we have four okay so value cannot be now yeah so it means  you have to find let's see and that will be three   yeah so three is deleted okay so you can see  it's very simple way to actually use Minima API   when you check the program you you have a service  created we have our report our service we have our   Auto configuration and our C operation using an  SQL light we have an end point no more controller   we have an endpoint and you you see we have a  simple endpoint here here and working the same   as the controller will do that's the reason why  you have to go in for this Minima API I believe   it is clear there are a lot of things that you can  actually add example here is a return typ if you   want to explicitly um Define the return type you  can do that so you can see from here the payload   here it is what register account service if you  want to SP out a return type it is also there if   you want to give it a name it is also there the  a lot but for now we want to maintain this maybe   later on we going to have a separate video to also  continue on and introduce you to more features of   this but with this video it aims to um educate  you on how to work with a Minima API the reason   why you have to go for it and the importance of it  how to configure um Moto mapper and DT token and   we've achieved that all right so that is it for  this video thank you so much for watching check   the video description for the source codee and  I'm going to catch up again till then take care
Info
Channel: Netcode-Hub
Views: 993
Rating: undefined out of 5
Keywords: web assembly, .net 8, .NET 8, API, Develop, Blazor, WebAssembly, implementation, controller, .net blazor, nugget package, create package, install package, download, clipboard, clipboard in blazor, copy in blazor, read clipboard in blazor, validation, modal dialog in blazor, file upload in blazor, clean arhitecture, domain, application, infrastructure, jwt authentication, consume authentication, cookie, authentication, minimal API, AutoMapper, JWT Auth
Id: rZmrgdZ_xzM
Channel Id: undefined
Length: 54min 3sec (3243 seconds)
Published: Sat Mar 23 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.