{"id":54009,"date":"2025-06-03T11:41:59","date_gmt":"2025-06-03T11:41:59","guid":{"rendered":"https:\/\/academy.xebia.com\/us\/?post_type=course&#038;p=54009"},"modified":"2025-09-24T17:51:51","modified_gmt":"2025-09-24T17:51:51","slug":"creating-asp-net-core-8-apis-be","status":"publish","type":"course","link":"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/","title":{"rendered":"Creating ASP.NET Core 8 APIs (BE)"},"content":{"rendered":"\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"f67ca091\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-group-hero js-group-hero\" data-id=\"03cc94af\">\n\t\t<div class=\"block-group-hero__background\">\n\t\t<div class=\"hero-theme block-group-hero__hero-theme\" data-id=\"ef57f470\">\n\t\n\t<div class=\"hero-theme__background\">\n\t\t\t\t\t<div class=\"hero-theme__background--software-white\">\n\t\t\t\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='54' height='55' viewBox='0 0 54 55' fill='none'><path d='M2.458 33.333c-3.277-3.387-3.277-8.878 0-12.265l17.717-18.31C25.46-2.706 34.5 1.164 34.5 8.89v36.62c0 7.727-9.039 11.596-14.325 6.133L2.458 33.333Z' fill='url(#3c1e2c78-7a40-45b0-9018-1aaac5fdccd5)'\/><path d='M52.077 22.43c2.564 2.635 2.564 6.906 0 9.54L38.21 46.21C34.074 50.461 27 47.451 27 41.441V12.96c0-6.01 7.074-9.019 11.211-4.77l13.866 14.24Z' fill='url(#b0ac0058-6d6d-4f3e-946f-dba1d605141e)'\/><path fill-rule='evenodd' clip-rule='evenodd' d='M34.112 6.22c.25.825.388 1.718.388 2.67v36.62a9.14 9.14 0 0 1-.388 2.67C30.564 48.461 27 45.707 27 41.441V12.96c0-4.266 3.564-7.02 7.112-6.74Z' fill='url(#c2b1ad86-e474-4a1b-90d6-8a38250681b7)'\/><defs><linearGradient id='3c1e2c78-7a40-45b0-9018-1aaac5fdccd5' x1='17.25' y1='0.200195' x2='17.25' y2='54.2002' gradientUnits='userSpaceOnUse'><stop stop-color='#F3F3F3' stop-opacity='0.5'\/><stop offset='1' stop-color='#84117C'\/><\/linearGradient><linearGradient id='b0ac0058-6d6d-4f3e-946f-dba1d605141e' x1='40.5' y1='48.2002' x2='40.5' y2='6.2002' gradientUnits='userSpaceOnUse'><stop stop-color='#F3F3F3' stop-opacity='0.5'\/><stop offset='1' stop-color='#84117C'\/><\/linearGradient><linearGradient id='c2b1ad86-e474-4a1b-90d6-8a38250681b7' x1='30.75' y1='6.2002' x2='30.75' y2='48.2002' gradientUnits='userSpaceOnUse'><stop stop-color='#84117C'\/><stop offset='0.9999' stop-color='#A80C9E'\/><stop offset='1' stop-color='#84117C' stop-opacity='0'\/><\/linearGradient><\/defs><\/svg>\t\t\t<\/div>\n\t\t\n\t<\/div>\n<\/div>\t<\/div>\n\t<div class=\"block-group-hero__content\">\n\t\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"0a6fdb97\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-course-hero\">\n\t<div class=\"block-course-hero__row\">\n\t\t<div class=\"block-course-hero block-course-hero__title\">\n\t\t\t<div class=\"block-course-hero__title-container\">\n\t\t\t\t<h1\tclass=\"heading\"\n\tdata-id=\"37a6a49b\"\n>\n\tCreating ASP.NET Core 8 APIs<\/h1>\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"block-course-hero__row\">\n\t\t<div class=\"block-course-hero\">\n\t\t\t<div class=\"block-course-hero__content\">\n\t\t\t\t<p class=\"block-course-hero__date-location\">\n\t\t\t\t\t<span data-training-meta-p-date>\n\t\t\t\t\t<\/span>   <span data-training-meta-p-address>\t\t\t\t\t<\/span>\n\t\t\t\t<\/p>\n\t\t\t\t<div class=\"course-tags block-course-hero__course-tags\" data-id=\"595614bf\">\n\t<div class=\"tags course-tags__tags js-tags\">\n\t\t<button\tclass=\"btn tags__show-more js-tags-show-more\"\n\tdata-id=\"82fae449\">\n\t<i class=\"icon btn__show-more\" data-id=\"799bff5c\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' fill='none' viewBox='0 0 25 24'><path stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 12h10M12 7v10'\/><\/svg><\/i>\n\t\n\t<\/button>\t<div class=\"tags__tippy-template js-tags-tippy-template\">\n\t\t<div class=\"tags__head\">\n\t\t\t<span><\/span>\n\t\t\t<button\tclass=\"btn tags__close js-tags-close\"\n\tdata-id=\"de4b55d7\">\n\t<i class=\"icon btn__close\" data-id=\"87156663\"  aria-hidden=\"true\">\n\t<svg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M15 5L5.00103 14.999' stroke='#6A1D57' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M15 14.998L5.00103 4.99907' stroke='#6A1D57' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><\/svg><\/i>\n\t\n\t<\/button>\t\t<\/div>\n\t<\/div>\n<\/div><\/div><p class=\"paragraph block-course-hero__description\" data-id=\"d2104c27\">\n\tIn this course, you will learn how to create APIs based on ASP.NET Core 8. You will gain practical knowledge on how to build, run and maintain ASP.NET Core 8 APIs.<\/p>\t\t\t\t<div class=\"block-course-hero__trainers-list\" aria-hidden=\"true\">\n\t\t\t\t\t<a href=\"https:\/\/example.com\" class=\"author-meta block-course-hero__author-meta author-meta__make-flex author-meta__link author-meta__make-flex\" rel=\"nofollow noopener\" target=\"_blank\">\n\t\t<picture class=\"image author-meta__image\" data-id=\"1d81826f\">\n\n\t\n\t\n\t<img\n\t\tsrc=\"https:\/\/example.com\"\n\t\talt=\"\"\n\t\tclass=\"image__img author-meta__image-img\"\n\t\/>\n<\/picture><h2\tclass=\"heading author-meta__heading\"\n\tdata-id=\"bc235b9a\"\n>\n\tTrainer Title<\/h2>\t<\/a>\t\t\t\t<\/div>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"block-course-hero__review-widget block-course-hero__review-widget-spacing\"\n\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t<div class=\"springest-review-widget springest-review-widget-width:300 springest-review-widget-bg:FFFFFF\">\n\t<a href=\"\">\n\t\t\t<\/a>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"block-course-hero__booking-container\">\n\t\t\t\t<div class=\"booking js-booking block-course-hero__booking booking__single-column\" data-id=\"a72c358f\">\n\t\t<div class=\"booking__info\">\n\t\t<h2\tclass=\"heading booking__heading\"\n\tdata-id=\"afe1d064\"\n>\n\t<strong>Any questions?\u00a0\u00a0<\/strong><\/h2><p class=\"paragraph booking__paragraph\" data-id=\"a58bfbf3\">\n\tBrijesh will gladly help you further with any personal or in-company needs you might have.<\/p><div class=\"author-meta booking__author-meta\">\n\t\t<picture class=\"image author-meta__image\" data-id=\"ed8d22d6\">\n\n\t\n\t\n\t<img\n\t\tsrc=\"\/wp-content\/uploads\/sites\/21\/2025\/05\/Brijesh-Kohli-Profile-Picture-2-e1757405354999.jpeg\"\n\t\talt=\"\"\n\t\tclass=\"image__img author-meta__image-img\"\n\t\/>\n<\/picture>\t\t<h2\tclass=\"heading author-meta__heading\"\n\tdata-id=\"5f8bcc5d\"\n>\n\t<strong>Brijesh Kohli<\/strong><br>Training Advisor<\/h2>\t\t<p class=\"paragraph author-meta__paragraph\" data-id=\"3150a5cf\">\n\t<a href=\"tel:09999644790\" data-type=\"tel\" data-id=\"tel:09999644790\">+1 (404) 988-3790<\/a><br><a href=\"mailto:Surat.wahal@xebia.com\" data-type=\"mailto\" data-id=\"mailto:Surat.wahal@xebia.com\"><a href=\"mailto:Brijesh.kohli@xebia.com\">Brijesh.kohli@xebia.com<\/a><\/a><br><a href=\"https:\/\/www.linkedin.com\/in\/surat-wahal-12996513\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><a href=\"https:\/\/www.linkedin.com\/in\/brijesh-kohli\/\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/www.linkedin.com\/in\/brijesh-kohli\/<\/a><\/a><\/p>\t<\/div><a class=\"btn booking__contact\" title=\"Get in touch\" data-id=\"2c529868\" href=\"https:\/\/academy.xebia.com\/us\/about-us\/contact-us\/\">\n\t\n\t\t\t<span>Get in touch<\/span>\n\t\n\t<\/a>\t<\/div>\n<\/div>\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t<\/div>\n<\/div>\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"bb654c3b\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-course-stats\" \n\tdata-id=\"ddf83b8f\" \n\taria-hidden=\"1\"\n\t>\n\t\n\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"b6bafe03\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-columns\" data-id=\"47dc96b5\">\n\t\n\n<div class=\"block-column\" data-id=\"69e8e79f\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"ef98040a\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"da9f2226\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"c39c40de\"\n>\n\tWhat will you learn?<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"d105fac3\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"d6993d67\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"bb8c7126\">\n\tYou want to build APIs for your next project, based on ASP.NET Core, Microsoft\u2019s premier web development platform?<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"5d59000a\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"609e33d0\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"c461d629\">\n\tThis course will teach you all you need to know how to build robust APIs, including patterns and best practices such as clean architecture to build reliable and testable APIs.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"721bfb15\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"2339fe2a\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-group\" data-id=\"ce29d8a9\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"a2febd61\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"f79297ba\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"e9bf1b2f\"\n>\n\tKey takeaways<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"f5ead62b\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-lists\" data-id=\"a7004813\">\n\t<ol\tclass=\"lists block-lists__lists\"\n\tdata-id=\"cc38478d\"\n>\n\t<li>Learn how to build APIs based on ASP.NET Core<\/li><li>Understand complex topics such as content negotiation, authentication and deployment<\/li><li>Build APIs based on the concepts of Clean Architecture<\/li><\/ol><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"909b6995\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-columns\" data-id=\"fac004bc\">\n\t\n\n<div class=\"block-column\" data-id=\"845ae002\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"ad4e2ee8\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"e8a65111\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"832e301d\"\n>\n\tProgram<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"b08ab1c1\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"bbd65d98\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"52fb559a\">\n\tDuring this 3 day training, you will learn how to build real-world APIs using ASP.NET Core. This course is aimed at being practical, filled with hands-on labs to apply what you have learned.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"7e6ba009\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"ff8d96d3\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div\n\tclass=\"block-accordion js-block-accordion\"\n\tdata-close-adjacent=\"false\"\n>\n\t\t\n\n<div class=\"block-accordion-item js-block-accordion-item\" \n\taria-expanded=\"true\"\n>\n\t<button class=\"block-accordion-item__trigger js-block-accordion-item-trigger\" \n\t\taria-label=\"Day 1\" \n\t\taria-controls=\"7c508396\" \n\t\taria-expanded=\"true\" \n\t\tid=\"dd5f184f\"\n\t>\n\t\t<h2\tclass=\"heading block-accordion-item__title\"\n\tdata-id=\"8392955e\"\n>\n\tDay 1<\/h2>\t\t\n\t\t<span class=\"block-accordion-item__wrap-icon\" aria-hidden=\"true\">\n\t\t\t<i class=\"icon block-accordion-item__icon\" data-id=\"3ce0c880\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M13 5.5a1 1 0 1 0-2 0h2Zm-1.707 13.707a1 1 0 0 0 1.414 0l6.364-6.364a1 1 0 0 0-1.414-1.414L12 17.086l-5.657-5.657a1 1 0 0 0-1.414 1.414l6.364 6.364ZM11 5.5v13h2v-13h-2Z' fill='currentColor'\/><\/svg><\/i>\t\t<\/span>\n\t<\/button>\n\n\t<div role=\"region\" class=\"block-accordion-item__panel js-block-accordion-item-panel\" \n\t\taria-hidden=\"false\" \n\t\taria-labelledby=\"dd5f184f\" \n\t\tid=\"7c508396\"\n\t>\n\t\t<div class=\"block-accordion-item__content\">\n\t\t\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"6bfa3c20\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"ace2370c\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"7a8522c6\">\n\t<strong>Moving to .NET 8 and ASP.NET Core<br><\/strong>This first module will give you an overview of the .NET 6 platform and its components. We will also look at the .NET Core CLI.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"680f9474\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"77732e00\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"f449c64a\">\n\t<strong>Finding your way around ASP NET Core MVC<\/strong><br>In this module, we will together create the File &gt; new project and see what is getting generated. You\u2019ll learn about the new files, workflow and configuration options that come with ASP.NET Core.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"26c56297\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"d5c35e56\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"130888e6\">\n\t<strong>Creating and consuming a first<\/strong>ASP.NET<strong> Core 8 API<\/strong><br>Typically, developers will use REST to create ASP.NET Core APIs. In this module, we will learn about the principles of REST and how that aligns with ASP.NET Core and we will create a first ASP.NET Core API and see how we can consume that from a Blazor front-end.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"381923c8\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"d72b3cb5\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"f8d6846f\">\n\t<strong>Understanding core principles in<\/strong>ASP.NET<strong> Core APIs<\/strong><br>Now that you have a basic understanding of APIs in ASP.NET Core, it\u2019s time to dive deeper. We will learn the concept of controllers and the MVC pattern that\u2019s used in ASP.NET Core as well as the other approach, namely Minimal APIs. While doing so, we will understand the basics of routing also used in ASP.NET Core.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div class=\"block-accordion-item js-block-accordion-item\" \n\taria-expanded=\"false\"\n>\n\t<button class=\"block-accordion-item__trigger js-block-accordion-item-trigger\" \n\t\taria-label=\"Day 2\" \n\t\taria-controls=\"5cd5099b\" \n\t\taria-expanded=\"false\" \n\t\tid=\"12e86385\"\n\t>\n\t\t<h2\tclass=\"heading block-accordion-item__title\"\n\tdata-id=\"c05bc069\"\n>\n\tDay 2<\/h2>\t\t\n\t\t<span class=\"block-accordion-item__wrap-icon\" aria-hidden=\"true\">\n\t\t\t<i class=\"icon block-accordion-item__icon\" data-id=\"d1de605e\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M13 5.5a1 1 0 1 0-2 0h2Zm-1.707 13.707a1 1 0 0 0 1.414 0l6.364-6.364a1 1 0 0 0-1.414-1.414L12 17.086l-5.657-5.657a1 1 0 0 0-1.414 1.414l6.364 6.364ZM11 5.5v13h2v-13h-2Z' fill='currentColor'\/><\/svg><\/i>\t\t<\/span>\n\t<\/button>\n\n\t<div role=\"region\" class=\"block-accordion-item__panel js-block-accordion-item-panel\" \n\t\taria-hidden=\"true\" \n\t\taria-labelledby=\"12e86385\" \n\t\tid=\"5cd5099b\"\n\t>\n\t\t<div class=\"block-accordion-item__content\">\n\t\t\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"e447c6f8\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"030b4332\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"2f60684c\">\n\t<strong>Introducing Entity Framework Core<\/strong><br>ASP.NET Core comes backed with support of a new version of Entity Framework Core. This new version of the framework has been redesigned from scratch to target .NET 8. In this module, we are exploring the new framework. We\u2019ll see how it\u2019s focuses entirely on code-first approaches.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"e83c2f61\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"32cb7725\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"94d53f14\">\n\t<strong>Creating controllers in more detail<\/strong><br>There\u2019s more to creating ASP.NET Core controllers than what we have seen so far, including the different base classes, the ApiController attribute, action methods and attributes, model binding and filters. In this module, we will explore these and more!<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"3a71ba71\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"c8d4688a\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"96284709\">\n\t<strong>Testing ASP.NET Core APIs<\/strong><br>Building enterprise applications without a good set of tests is far from a recommended approach. In this module, we will explore how you can write unit tests for an ASP.NET Core API application using xUnit.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"599af5bc\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"43b982d6\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"de2f62d3\">\n\t<strong>Diagnostics and Logging<\/strong><br>Through middleware, ASP.NET Core applications can be configured to give diagnostic information to the users. Also, ASP.NET Core comes with a built-in logging system that we\u2019ll explore in this module as well. We\u2019ll also add some third-party logging providers here as well (Serilog).<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div class=\"block-accordion-item js-block-accordion-item\" \n\taria-expanded=\"false\"\n>\n\t<button class=\"block-accordion-item__trigger js-block-accordion-item-trigger\" \n\t\taria-label=\"Day 3\" \n\t\taria-controls=\"aaa6e58f\" \n\t\taria-expanded=\"false\" \n\t\tid=\"fc0ed20a\"\n\t>\n\t\t<h2\tclass=\"heading block-accordion-item__title\"\n\tdata-id=\"8616284a\"\n>\n\tDay 3<\/h2>\t\t\n\t\t<span class=\"block-accordion-item__wrap-icon\" aria-hidden=\"true\">\n\t\t\t<i class=\"icon block-accordion-item__icon\" data-id=\"761a4ce5\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M13 5.5a1 1 0 1 0-2 0h2Zm-1.707 13.707a1 1 0 0 0 1.414 0l6.364-6.364a1 1 0 0 0-1.414-1.414L12 17.086l-5.657-5.657a1 1 0 0 0-1.414 1.414l6.364 6.364ZM11 5.5v13h2v-13h-2Z' fill='currentColor'\/><\/svg><\/i>\t\t<\/span>\n\t<\/button>\n\n\t<div role=\"region\" class=\"block-accordion-item__panel js-block-accordion-item-panel\" \n\t\taria-hidden=\"true\" \n\t\taria-labelledby=\"fc0ed20a\" \n\t\tid=\"aaa6e58f\"\n\t>\n\t\t<div class=\"block-accordion-item__content\">\n\t\t\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"f5f50aa1\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"a3406e71\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"85fbb864\">\n\t<strong>Optimizing API performance<\/strong><br>Performance is vital for ASP.NET Core applications. In this module, we will explore different options to optimize the performance of an ASP.NET Core API including asynchronous handling of requests, caching, throttling and more.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"67908279\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"b1b39b3b\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"ac5099d1\">\n\t<strong>Documenting an API<\/strong><br>APIs need to have a good documentation available for its users who depend on the service for their work. Using Swagger, it becomes easy to generate the service metadata and describe its functionalities. In this module, we will look at the OpenAPI specification, explore Swagger and Swashbuckle and more.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"7d8d9e3a\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"29d94b84\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"be778f8b\">\n\t<strong>Authentication and authorization in APIs<\/strong><br>Web APIs needs to be secured. In this module, we will look at the different options we have to secure the API we have built so far.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"5b247225\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"288b16e1\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"c82c765e\">\n\t<strong>Creating ASP.NET Core APIs with Clean Architecture<\/strong><br>So far, we have created a few standalone APIs. But how do we create a full-blown API application? In this module, we will learn about the principles of Clean Architecture and we will create an end-to-end API solution based on these principles.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"ab70fc24\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"fe65dead\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"5bfd2d13\">\n\t<strong>Consuming our API<\/strong><br>Now that we have a solid understanding of ASP.NET Core APIs, the next thing is using it from client applications. In this final module, we will create and use a Blazor front-end to work with the API.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"397f602f\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"fe0278de\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"e4dec9fc\"\n>\n\tWho is it for?<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"d3060794\" \n\tdata-bg-on-inner=\"true\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-group\" data-id=\"788db900\">\n\t<\/div>\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"cf7e2c99\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"a222028f\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"070b3ff3\"\n>\n\tWhy should I follow this training?<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"ca710c63\" \n\tdata-bg-on-inner=\"true\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-columns\" data-id=\"273f2a6b\">\n\t\n\n<div class=\"block-column\" data-id=\"7c22ca34\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"ee6ce589\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-icon\">\n\t<i class=\"icon block-icon__icon\" data-id=\"c78a3e4e\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'><path d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z'\/><\/svg><\/i><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"97868194\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"87ec9da9\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"ee1a4beb\"\n>\n\tLearn about ASP.NET Core APIs<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"7b59eb69\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"889b4043\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"4b263a77\">\n\tCreate APIs based on the popular framework of Microsoft<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"3bc03590\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"796b671e\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-icon\">\n\t<i class=\"icon block-icon__icon\" data-id=\"fee7a81b\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'><path d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z'\/><\/svg><\/i><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"2ef11829\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"9f35eb8f\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"5199557c\"\n>\n\tBuild a real-world APIs<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"1f146a9e\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"af298360\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"67282fa3\">\n\tThis course will guide you in the end-to-end building of a real world API<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"e3dfc63b\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"6115b42b\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-icon\">\n\t<i class=\"icon block-icon__icon\" data-id=\"256fbd3f\"  aria-hidden=\"true\">\n\t<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'><path d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z'\/><\/svg><\/i><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"55bb85f4\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"5f4211af\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"a820636f\"\n>\n\tApply best practices<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"6c440206\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"46894547\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"45737f57\">\n\tYou will learn how to create APIs the right way from the start<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"ff564b1e\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-image-carousel js-block-image-carousel\" data-id=\"cb0168de\">\n\t\t<h2\tclass=\"heading block-image-carousel__heading\"\n\tdata-id=\"dcfa976c\"\n>\n\tWhat does it look like?<\/h2>\n\t\t<div class=\"block-image-carousel__navigation\">\n\t\t\t<button\tclass=\"btn block-image-carousel__btn js-block-image-carousel-prev\"\n\tdata-id=\"a00fc51c\">\n\t<i class=\"icon btn__icon\" data-id=\"0b0c9a03\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M18.5 13a1 1 0 1 0 0-2v2ZM4.793 11.293a1 1 0 0 0 0 1.414l6.364 6.364a1 1 0 0 0 1.414-1.414L6.914 12l5.657-5.657a1 1 0 0 0-1.414-1.414l-6.364 6.364ZM18.5 11h-13v2h13v-2Z' fill='currentColor'\/><\/svg><\/i>\n\t\n\t<\/button><button\tclass=\"btn block-image-carousel__btn js-block-image-carousel-next\"\n\tdata-id=\"0dec70d1\">\n\t<i class=\"icon btn__icon\" data-id=\"a4390538\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M5.5 11a1 1 0 1 0 0 2v-2Zm13.707 1.707a1 1 0 0 0 0-1.414l-6.364-6.364a1 1 0 1 0-1.414 1.414L17.086 12l-5.657 5.657a1 1 0 0 0 1.414 1.414l6.364-6.364ZM5.5 13h13v-2h-13v2Z' fill='currentColor'\/><\/svg><\/i>\n\t\n\t<\/button>\t\t<\/div>\n\n\t\t<div class=\"swiper block-image-carousel__container js-block-image-carousel-container\">\n\t\t\n\t\t\t<div class=\"swiper-wrapper\">\n\t\t\t\t\n<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item\">\n\t\t\t<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item-inner\">\n<div class=\"block-image\" data-id=\"5a638c37\">\n\t<picture class=\"image block-image__image\" data-id=\"8fceb700\">\n\n\t\n\t\n\t<img\n\t\tsrc=\"\/academy\/wp-content\/uploads\/sites\/4\/2024\/04\/Belgium-office-1-scaled.jpg\"\n\t\talt=\"\"\n\t\tclass=\"image__img block-image__image-img\"\n\t\/>\n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\n<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item\">\n\t\t\t<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item-inner\">\n<div class=\"block-image\" data-id=\"d4ccaeff\">\n\t<picture class=\"image block-image__image\" data-id=\"8e0fe646\">\n\n\t\n\t\n\t<img\n\t\tsrc=\"\/academy\/wp-content\/uploads\/sites\/4\/2023\/10\/Header-OutSystems-6.jpg\"\n\t\talt=\"\"\n\t\tclass=\"image__img block-image__image-img\"\n\t\/>\n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\n<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item\">\n\t\t\t<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item-inner\">\n<div class=\"block-image\" data-id=\"6efd1c6d\">\n\t<picture class=\"image block-image__image\" data-id=\"2f66497b\">\n\n\t\n\t\n\t<img\n\t\tsrc=\"https:\/\/academy.xebia.com\/wp-content\/uploads\/sites\/4\/2023\/08\/20230328-191741-JTI-scaled.jpg\"\n\t\talt=\"\"\n\t\tclass=\"image__img block-image__image-img\"\n\t\/>\n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\n<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item\">\n\t\t\t<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item-inner\">\n<div class=\"block-image\" data-id=\"25db07e9\">\n\t<picture class=\"image block-image__image\" data-id=\"61bc5f24\">\n\n\t\n\t\n\t<img\n\t\tsrc=\"https:\/\/academy.xebia.com\/wp-content\/uploads\/sites\/4\/2023\/09\/Xebia-Stock-Amsterdam-100_2560.jpg\"\n\t\talt=\"\"\n\t\tclass=\"image__img block-image__image-img\"\n\t\/>\n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\n<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item\">\n\t\t\t<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item-inner\">\n<div class=\"block-image\" data-id=\"65f6e74f\">\n\t<picture class=\"image block-image__image\" data-id=\"76827c07\">\n\n\t\n\t\n\t<img\n\t\tsrc=\"\/academy\/wp-content\/uploads\/sites\/4\/2023\/09\/Xebia-Lead-7-scaled.jpg\"\n\t\talt=\"\"\n\t\tclass=\"image__img block-image__image-img\"\n\t\/>\n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\n<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item\">\n\t\t\t<div class=\"js-block-image-carousel-item swiper-slide block-image-carousel__item-inner\">\n<div class=\"block-image\" data-id=\"c0e23554\">\n\t<picture class=\"image block-image__image\" data-id=\"7acab7c3\">\n\n\t\n\t\n\t<img\n\t\tsrc=\"\/academy\/wp-content\/uploads\/sites\/4\/2023\/09\/Xebia-Hilversum-office-scaled.jpg\"\n\t\talt=\"\"\n\t\tclass=\"image__img block-image__image-img\"\n\t\/>\n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t<div class=\"block-image-carousel__pagination js-block-image-carousel-pagination swiper-pagination\"><\/div>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"d32ca83d\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-heading\" data-id=\"8c4f95d5\">\n\t<h2\tclass=\"heading block-heading__heading\"\n\tdata-id=\"14e09198\"\n>\n\tWhat else <br>should I know?<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"c9b62587\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-columns\" data-id=\"37c602e6\">\n\t\n\n<div class=\"block-column\" data-id=\"62b99abb\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"42af15c0\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-paragraph\" data-id=\"10108a71\">\n\t<p class=\"paragraph block-paragraph__paragraph\" data-id=\"1ac1dc9a\">\n\tAfter registration for this training, you will receive a confirmation email with practical information. A week before the training, we will ask you about any dietary requirements. See you soon!<br><\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<div class=\"block-column\" data-id=\"cedb1c6f\">\n\t\n\n<div \n\tclass=\"wrapper wrapper--simple\" \n\tdata-id=\"0ed0c90f\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div class=\"block-bullet-list\">\n\t\t\t<p class=\"paragraph block-bullet-list__paragraph\" data-id=\"31f53ed2\">\n\tCourse information<\/p>\t<div class=\"block-bullet-list__columns\">\n\t\t\n\n<div class=\"block-bullet-item js-block-bullet-item\" data-id=\"b97421e0\">\n\t<i class=\"icon block-bullet-item__icon\" data-id=\"1dca1fcb\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M11.25 11.25C11.4489 11.25 11.6397 11.329 11.7803 11.4697C11.921 11.6103 12 11.8011 12 12V15.75C12 15.9489 12.079 16.1397 12.2197 16.2803C12.3603 16.421 12.5511 16.5 12.75 16.5' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M11.625 9C12.2463 9 12.75 8.49632 12.75 7.875C12.75 7.25368 12.2463 6.75 11.625 6.75C11.0037 6.75 10.5 7.25368 10.5 7.875C10.5 8.49632 11.0037 9 11.625 9Z' fill='currentColor'\/><\/svg><\/i><p class=\"paragraph block-bullet-item__paragraph\" data-id=\"c99e7ab7\">\n\tTraining will consist of a healthy mix of theory, examples, and exercises<\/p><\/div>\n\n\n\n<div class=\"block-bullet-item js-block-bullet-item\" data-id=\"d58e0943\">\n\t<i class=\"icon block-bullet-item__icon\" data-id=\"3a0a4712\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M11.25 11.25C11.4489 11.25 11.6397 11.329 11.7803 11.4697C11.921 11.6103 12 11.8011 12 12V15.75C12 15.9489 12.079 16.1397 12.2197 16.2803C12.3603 16.421 12.5511 16.5 12.75 16.5' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M11.625 9C12.2463 9 12.75 8.49632 12.75 7.875C12.75 7.25368 12.2463 6.75 11.625 6.75C11.0037 6.75 10.5 7.25368 10.5 7.875C10.5 8.49632 11.0037 9 11.625 9Z' fill='currentColor'\/><\/svg><\/i><p class=\"paragraph block-bullet-item__paragraph\" data-id=\"0ba0f8be\">\n\tLunch is included<\/p><\/div>\n\n\n\n<div class=\"block-bullet-item js-block-bullet-item\" data-id=\"aed2f47a\">\n\t<i class=\"icon block-bullet-item__icon\" data-id=\"0f4f9e90\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M11.25 11.25C11.4489 11.25 11.6397 11.329 11.7803 11.4697C11.921 11.6103 12 11.8011 12 12V15.75C12 15.9489 12.079 16.1397 12.2197 16.2803C12.3603 16.421 12.5511 16.5 12.75 16.5' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M11.625 9C12.2463 9 12.75 8.49632 12.75 7.875C12.75 7.25368 12.2463 6.75 11.625 6.75C11.0037 6.75 10.5 7.25368 10.5 7.875C10.5 8.49632 11.0037 9 11.625 9Z' fill='currentColor'\/><\/svg><\/i><p class=\"paragraph block-bullet-item__paragraph\" data-id=\"d8bb3d96\">\n\tTravel and accommodation expenses are not included<\/p><\/div>\n\n\n\n<div class=\"block-bullet-item js-block-bullet-item\" data-id=\"c2b24245\">\n\t<i class=\"icon block-bullet-item__icon\" data-id=\"c6a01d87\"  aria-hidden=\"true\">\n\t<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'><path d='M11.25 11.25C11.4489 11.25 11.6397 11.329 11.7803 11.4697C11.921 11.6103 12 11.8011 12 12V15.75C12 15.9489 12.079 16.1397 12.2197 16.2803C12.3603 16.421 12.5511 16.5 12.75 16.5' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/><path d='M11.625 9C12.2463 9 12.75 8.49632 12.75 7.875C12.75 7.25368 12.2463 6.75 11.625 6.75C11.0037 6.75 10.5 7.25368 10.5 7.875C10.5 8.49632 11.0037 9 11.625 9Z' fill='currentColor'\/><\/svg><\/i><p class=\"paragraph block-bullet-item__paragraph\" data-id=\"3197fc96\">\n\tNo previous knowledge on ASP.NET Core required!<\/p><\/div>\n\n\t<\/div>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<div \n\tclass=\"wrapper\" \n\tdata-id=\"1a908324\" \n\tdata-bg-on-inner=\"false\" \n\t>\n\t\t\n\t\t\t<div class=\"wrapper__inner\">\n\t\t\t\n<div\n\tdata-id=\"1df14c7d\"\n\tclass=\"block-course-list js-block-course-list js-block-course-list-1df14c7d\"\n\t>\n\t<h2\tclass=\"heading block-course-list__heading\"\n\tdata-id=\"7125ee73\"\n>\n\tAlso interesting for you<\/h2><a class=\"btn block-course-list__btn\" title=\"View all training courses\" data-id=\"40e3ed5d\" href=\"https:\/\/academy.xebia.com\/us\/training\/\">\n\t\n\t\t\t<span>View all training courses<\/span>\n\t\n\t<\/a>\n\t<div class=\"block-course-list__slider-wrapper\">\n\t\t<div class=\"block-course-list__slider\">\n\t\t\t<div\n\t\t\t\tclass=\"block-course-list__swiper js-block-course-list-swiper swiper\"\n\t\t\t\tdata-allow-keyboard-controls=\"1\"\n\t\t\t>\n\t\t\t\t<div class=\"swiper-wrapper block-course-list__swiper-wrapper\">\n\t\t\t\t\t<div class=\"course-list-item swiper-slide js-tippy-container-isolated\" data-id=\"8ef4e74c\">\n\t<a class=\"btn course-list-item__btn course-list-item__heading-link\" title=\"Creating ASP.NET Core 8 APIs (BE)\" data-id=\"7d527e52\" href=\"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/\">\n\t\n\t\t\t<span>Creating ASP.NET Core 8 APIs (BE)<\/span>\n\t\n\t<\/a>\t\t\n\t<div class=\"course-list-item__details-row\">\n\t\t\t\t\t<div class=\"course-list-item__date\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<a class=\"btn course-list-item__btn\" title=\"View training\" data-id=\"7a50d9e0\" href=\"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/\">\n\t\n\t\t\t<span>View training<\/span>\n\t\n\t<\/a>\t<\/div>\n\n<\/div><div class=\"course-list-item swiper-slide js-tippy-container-isolated\" data-id=\"ff4b0e76\">\n\t<a class=\"btn course-list-item__btn course-list-item__heading-link\" title=\"Creating ASP.NET Core 8 APIs (BE)\" data-id=\"a7dfc383\" href=\"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/\">\n\t\n\t\t\t<span>Creating ASP.NET Core 8 APIs (BE)<\/span>\n\t\n\t<\/a>\t\t\n\t<div class=\"course-list-item__details-row\">\n\t\t\t\t\t<div class=\"course-list-item__date\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<a class=\"btn course-list-item__btn\" title=\"View training\" data-id=\"372e9c81\" href=\"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/\">\n\t\n\t\t\t<span>View training<\/span>\n\t\n\t<\/a>\t<\/div>\n\n<\/div><div class=\"course-list-item swiper-slide js-tippy-container-isolated\" data-id=\"2179aba5\">\n\t<a class=\"btn course-list-item__btn course-list-item__heading-link\" title=\"Creating ASP.NET Core 8 APIs (BE)\" data-id=\"44268876\" href=\"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/\">\n\t\n\t\t\t<span>Creating ASP.NET Core 8 APIs (BE)<\/span>\n\t\n\t<\/a>\t\t\n\t<div class=\"course-list-item__details-row\">\n\t\t\t\t\t<div class=\"course-list-item__date\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<a class=\"btn course-list-item__btn\" title=\"View training\" data-id=\"47e130ad\" href=\"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/\">\n\t\n\t\t\t<span>View training<\/span>\n\t\n\t<\/a>\t<\/div>\n\n<\/div><div class=\"course-list-item swiper-slide js-tippy-container-isolated\" data-id=\"7fa11df3\">\n\t<a class=\"btn course-list-item__btn course-list-item__heading-link\" title=\"Creating ASP.NET Core 8 APIs (BE)\" data-id=\"560351a5\" href=\"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/\">\n\t\n\t\t\t<span>Creating ASP.NET Core 8 APIs (BE)<\/span>\n\t\n\t<\/a>\t\t\n\t<div class=\"course-list-item__details-row\">\n\t\t\t\t\t<div class=\"course-list-item__date\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<a class=\"btn course-list-item__btn\" title=\"View training\" data-id=\"747bf016\" href=\"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/\">\n\t\n\t\t\t<span>View training<\/span>\n\t\n\t<\/a>\t<\/div>\n\n<\/div><div class=\"course-list-item swiper-slide js-tippy-container-isolated\" data-id=\"e648dd15\">\n\t<a class=\"btn course-list-item__btn course-list-item__heading-link\" title=\"Creating ASP.NET Core 8 APIs (BE)\" data-id=\"f89cade7\" href=\"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/\">\n\t\n\t\t\t<span>Creating ASP.NET Core 8 APIs (BE)<\/span>\n\t\n\t<\/a>\t\t\n\t<div class=\"course-list-item__details-row\">\n\t\t\t\t\t<div class=\"course-list-item__date\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<a class=\"btn course-list-item__btn\" title=\"View training\" data-id=\"91662653\" href=\"https:\/\/academy.xebia.com\/us\/training\/creating-asp-net-core-8-apis-be\/\">\n\t\n\t\t\t<span>View training<\/span>\n\t\n\t<\/a>\t<\/div>\n\n<\/div><div class=\"course-list-item swiper-slide js-tippy-container-isolated\" data-id=\"fc7761d2\">\n\t<h2\tclass=\"heading course-list-item__heading\"\n\tdata-id=\"9405c649\"\n>\n\tCan\u2019t find the course you\u2019re looking for? There\u2019s more!<\/h2>\t\t\n\t<div class=\"course-list-item__details-row\">\n\t\t\t\t\t<div class=\"course-list-item__date\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<a class=\"btn course-list-item__btn\" title=\"View all courses\" data-id=\"18f55543\" href=\"https:\/\/academy.xebia.com\/us\/training\/\">\n\t\n\t\t\t<span>View all courses<\/span>\n\t\n\t<\/a>\t<\/div>\n\n<\/div>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"block-course-list__controls swiper-pagination\"><\/div>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":105,"featured_media":0,"template":"","tags":[],"class_list":["post-54009","course","type-course","status-publish","hentry"],"acf":{"field_BrokersfeedIntroduction":"","field_BrokersfeedDescription":"","field_BrokersfeedFormat":"","field_BrokersfeedSubjects":"","field_BrokersfeedTakeaways":"","field_BrokersfeedTargetAudience":"","field_BrokersfeedPrerequisites":"","field_BrokersfeedCertificationValue":"","field_BrokersfeedNextSteps":"","field_BrokersfeedBanner":"","course_xebia_event_ids":"","course_xebia_event_group_id":"","course_xebia_discipline":"","course_xebia_sorting_order":5},"raw_content":null,"_links":{"self":[{"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/courses\/54009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/courses"}],"about":[{"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/types\/course"}],"author":[{"embeddable":true,"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/users\/105"}],"version-history":[{"count":4,"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/courses\/54009\/revisions"}],"predecessor-version":[{"id":56704,"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/courses\/54009\/revisions\/56704"}],"wp:attachment":[{"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/media?parent=54009"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/academy.xebia.com\/us\/wp-json\/wp\/v2\/tags?post=54009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}