{"id":1963,"date":"2024-10-31T16:55:32","date_gmt":"2024-10-31T14:55:32","guid":{"rendered":"https:\/\/epicmarketing.co.il\/notebook\/?p=1963"},"modified":"2024-10-31T17:05:01","modified_gmt":"2024-10-31T15:05:01","slug":"asp-net-core-web-api-fundamentals","status":"publish","type":"post","link":"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/","title":{"rendered":"ASP.NET Core Web API Fundamentals"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Learning Objectives<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Understand how to create RESTful APIs using ASP.NET Core.<\/li>\n\n\n\n<li>Learn about controllers, actions, and attribute routing.<\/li>\n\n\n\n<li>Gain insights into ASP.NET Core routing and middleware.<\/li>\n\n\n\n<li>Learn how to use Dependency Injection (DI) in ASP.NET Core.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Creating Web APIs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What is a Web API?<\/strong> A Web API (Application Programming Interface) allows different applications to communicate with each other over HTTP. In ASP.NET Core, Web APIs are built using <strong>controllers<\/strong> and <strong>actions<\/strong> to define endpoints, and <strong>attribute routing<\/strong> to manage how requests are directed.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Controllers, Actions, and Attribute Routing<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Controller<\/strong>: A class that handles incoming HTTP requests and sends responses.<\/li>\n\n\n\n<li><strong>Action<\/strong>: A method inside a controller that performs a specific task (like fetching data).<\/li>\n\n\n\n<li><strong>Attribute Routing<\/strong>: A way to specify routes using attributes on actions or controllers.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Creating Your First Web API<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Step 1<\/strong>: Create a new Web API project in Visual Studio by selecting <strong>ASP.NET Core Web API<\/strong> as the template.<\/li>\n\n\n\n<li><strong>Step 2<\/strong>: The generated project will have a default controller called <code>WeatherForecastController<\/code>.<\/li>\n\n\n\n<li><strong>Step 3<\/strong>: Add a new controller called <code>ProductController<\/code> to handle product data.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Code Example<\/strong>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n&#x5B;ApiController]\n&#x5B;Route(&quot;api\/&#x5B;controller]&quot;)]\npublic class ProductController : ControllerBase\n{\n    &#x5B;HttpGet]\n    public IActionResult GetProducts()\n    {\n        var products = new List&lt;string&gt; { &quot;Laptop&quot;, &quot;Phone&quot;, &quot;Tablet&quot; };\n        return Ok(products);\n    }\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Real-Life Example<\/strong>: In an e-commerce application, the <code>ProductController<\/code> can serve product listings to customers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Routing &amp; Middleware<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Routing in ASP.NET Core<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Routing determines how an incoming request is mapped to a specific controller action. ASP.NET Core supports <strong>attribute routing<\/strong> (using attributes in controllers) and <strong>conventional routing<\/strong> (defined in <code>Program.cs<\/code>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Attribute Routing<\/strong>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n&#x5B;HttpGet(&quot;products\/{id}&quot;)]\npublic IActionResult GetProductById(int id)\n{\n    return Ok($&quot;Product with ID: {id}&quot;);\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">This route will match GET requests to <code>\/products\/{id}<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Conventional Routing<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Defined in <code>Program.cs<\/code> for common routes.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\napp.MapControllerRoute(\n    name: &quot;default&quot;,\n    pattern: &quot;{controller=Home}\/{action=Index}\/{id?}&quot;);\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>Middleware<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"> Middleware are components that handle requests and responses in the ASP.NET Core pipeline. Middleware are added in <code>Program.cs<\/code> and are executed in the order in which they are added.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Common Middleware<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>UseRouting()<\/strong>: Adds route matching to the pipeline.<\/li>\n\n\n\n<li><strong>UseAuthentication()<\/strong> and <strong>UseAuthorization()<\/strong>: Handles authentication and authorization.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Example of Middleware in <code>Program.cs<\/code><\/strong>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\nvar builder = WebApplication.CreateBuilder(args);\nvar app = builder.Build();\n\napp.UseRouting();\napp.UseAuthorization();\n\napp.MapControllers();\n\napp.Run();\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Real-Life Example<\/strong>: In a user management system, middleware can be used to log all incoming requests to track user activities for auditing purposes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dependency Injection (DI)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What is Dependency Injection?<\/strong> Dependency Injection (DI) is a technique used to improve code modularity and make it more testable by injecting required dependencies instead of instantiating them manually.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ASP.NET Core has a <strong>built-in DI container<\/strong> that helps manage service lifetimes:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Transient<\/strong>: Created each time they are requested.<\/li>\n\n\n\n<li><strong>Scoped<\/strong>: Created once per request.<\/li>\n\n\n\n<li><strong>Singleton<\/strong>: Created once and shared throughout the application.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Registering Services<\/strong>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\nbuilder.Services.AddScoped&lt;IProductService, ProductService&gt;();\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">This registers <code>ProductService<\/code> with a scoped lifetime, meaning it will be created once per request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Using DI in a Controller<\/strong>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\npublic class ProductController : ControllerBase\n{\n    private readonly IProductService _productService;\n\n    public ProductController(IProductService productService)\n    {\n        _productService = productService;\n    }\n\n    &#x5B;HttpGet]\n    public IActionResult GetProducts()\n    {\n        var products = _productService.GetAllProducts();\n        return Ok(products);\n    }\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Real-Life Example<\/strong>: In a financial application, DI can be used to inject a service that handles transactions, ensuring that each request gets its own instance for consistency.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Key Takeaways<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Controllers and Actions<\/strong> are essential for creating Web APIs, with <strong>attribute routing<\/strong> making it easy to define endpoints.<\/li>\n\n\n\n<li><strong>Middleware<\/strong> are used to handle requests and responses in a sequential order.<\/li>\n\n\n\n<li><strong>Dependency Injection<\/strong> helps manage dependencies efficiently, promoting code modularity and making testing easier.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Practical Questions<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>How does attribute routing differ from conventional routing in ASP.NET Core?<\/li>\n\n\n\n<li>What are middleware, and how do they handle requests in an ASP.NET Core application?<\/li>\n\n\n\n<li>How can Dependency Injection improve code quality in an API project?<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Learning Objectives Creating Web APIs What is a Web API? A Web API (Application Programming Interface) allows different applications to communicate with each other over HTTP. In ASP.NET Core, Web APIs are built using controllers and actions to define endpoints, and attribute routing to manage how requests are directed. Controllers, Actions, and Attribute Routing Creating [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"on","ocean_gallery_id":[],"footnotes":""},"categories":[79],"tags":[],"class_list":["post-1963","post","type-post","status-publish","format-standard","hentry","category-dotnet-8","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ASP.NET Core Web API Fundamentals - Code Notebook<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/\" \/>\n<meta property=\"og:locale\" content=\"he_IL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ASP.NET Core Web API Fundamentals - Code Notebook\" \/>\n<meta property=\"og:description\" content=\"Learning Objectives Creating Web APIs What is a Web API? A Web API (Application Programming Interface) allows different applications to communicate with each other over HTTP. In ASP.NET Core, Web APIs are built using controllers and actions to define endpoints, and attribute routing to manage how requests are directed. Controllers, Actions, and Attribute Routing Creating [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/\" \/>\n<meta property=\"og:site_name\" content=\"Code Notebook\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-31T14:55:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-31T15:05:01+00:00\" \/>\n<meta name=\"author\" content=\"kerendanino\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u05e0\u05db\u05ea\u05d1 \u05e2\u05dc \u05d9\u05d3\" \/>\n\t<meta name=\"twitter:data1\" content=\"kerendanino\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u05d6\u05de\u05df \u05e7\u05e8\u05d9\u05d0\u05d4 \u05de\u05d5\u05e2\u05e8\u05da\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \u05d3\u05e7\u05d5\u05ea\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/asp-net-core-web-api-fundamentals\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/asp-net-core-web-api-fundamentals\\\/\"},\"author\":{\"name\":\"kerendanino\",\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/#\\\/schema\\\/person\\\/195dfc625818eadda7903d456890e24c\"},\"headline\":\"ASP.NET Core Web API Fundamentals\",\"datePublished\":\"2024-10-31T14:55:32+00:00\",\"dateModified\":\"2024-10-31T15:05:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/asp-net-core-web-api-fundamentals\\\/\"},\"wordCount\":519,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/#organization\"},\"articleSection\":[\"Dotnet 8\"],\"inLanguage\":\"he-IL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/asp-net-core-web-api-fundamentals\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/asp-net-core-web-api-fundamentals\\\/\",\"url\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/asp-net-core-web-api-fundamentals\\\/\",\"name\":\"ASP.NET Core Web API Fundamentals - Code Notebook\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/#website\"},\"datePublished\":\"2024-10-31T14:55:32+00:00\",\"dateModified\":\"2024-10-31T15:05:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/asp-net-core-web-api-fundamentals\\\/#breadcrumb\"},\"inLanguage\":\"he-IL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/asp-net-core-web-api-fundamentals\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/asp-net-core-web-api-fundamentals\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ASP.NET Core Web API Fundamentals\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/#website\",\"url\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/\",\"name\":\"Code Notebook\",\"description\":\"Easy coding\",\"publisher\":{\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"he-IL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/#organization\",\"name\":\"Code Notebook\",\"url\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"he-IL\",\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-epic-marketing-05.png\",\"contentUrl\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-epic-marketing-05.png\",\"width\":3626,\"height\":1942,\"caption\":\"Code Notebook\"},\"image\":{\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/#\\\/schema\\\/person\\\/195dfc625818eadda7903d456890e24c\",\"name\":\"kerendanino\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"he-IL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/285cc9389c66aa46da1e26a474b1e90e9efaf3fa21f1b928cbd63ce5f0e89c63?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/285cc9389c66aa46da1e26a474b1e90e9efaf3fa21f1b928cbd63ce5f0e89c63?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/285cc9389c66aa46da1e26a474b1e90e9efaf3fa21f1b928cbd63ce5f0e89c63?s=96&d=mm&r=g\",\"caption\":\"kerendanino\"},\"url\":\"https:\\\/\\\/epicmarketing.co.il\\\/notebook\\\/author\\\/kerendanino\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ASP.NET Core Web API Fundamentals - Code Notebook","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/","og_locale":"he_IL","og_type":"article","og_title":"ASP.NET Core Web API Fundamentals - Code Notebook","og_description":"Learning Objectives Creating Web APIs What is a Web API? A Web API (Application Programming Interface) allows different applications to communicate with each other over HTTP. In ASP.NET Core, Web APIs are built using controllers and actions to define endpoints, and attribute routing to manage how requests are directed. Controllers, Actions, and Attribute Routing Creating [&hellip;]","og_url":"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/","og_site_name":"Code Notebook","article_published_time":"2024-10-31T14:55:32+00:00","article_modified_time":"2024-10-31T15:05:01+00:00","author":"kerendanino","twitter_card":"summary_large_image","twitter_misc":{"\u05e0\u05db\u05ea\u05d1 \u05e2\u05dc \u05d9\u05d3":"kerendanino","\u05d6\u05de\u05df \u05e7\u05e8\u05d9\u05d0\u05d4 \u05de\u05d5\u05e2\u05e8\u05da":"3 \u05d3\u05e7\u05d5\u05ea"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/#article","isPartOf":{"@id":"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/"},"author":{"name":"kerendanino","@id":"https:\/\/epicmarketing.co.il\/notebook\/#\/schema\/person\/195dfc625818eadda7903d456890e24c"},"headline":"ASP.NET Core Web API Fundamentals","datePublished":"2024-10-31T14:55:32+00:00","dateModified":"2024-10-31T15:05:01+00:00","mainEntityOfPage":{"@id":"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/"},"wordCount":519,"commentCount":0,"publisher":{"@id":"https:\/\/epicmarketing.co.il\/notebook\/#organization"},"articleSection":["Dotnet 8"],"inLanguage":"he-IL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/","url":"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/","name":"ASP.NET Core Web API Fundamentals - Code Notebook","isPartOf":{"@id":"https:\/\/epicmarketing.co.il\/notebook\/#website"},"datePublished":"2024-10-31T14:55:32+00:00","dateModified":"2024-10-31T15:05:01+00:00","breadcrumb":{"@id":"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/#breadcrumb"},"inLanguage":"he-IL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/epicmarketing.co.il\/notebook\/asp-net-core-web-api-fundamentals\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/epicmarketing.co.il\/notebook\/"},{"@type":"ListItem","position":2,"name":"ASP.NET Core Web API Fundamentals"}]},{"@type":"WebSite","@id":"https:\/\/epicmarketing.co.il\/notebook\/#website","url":"https:\/\/epicmarketing.co.il\/notebook\/","name":"Code Notebook","description":"Easy coding","publisher":{"@id":"https:\/\/epicmarketing.co.il\/notebook\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/epicmarketing.co.il\/notebook\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"he-IL"},{"@type":"Organization","@id":"https:\/\/epicmarketing.co.il\/notebook\/#organization","name":"Code Notebook","url":"https:\/\/epicmarketing.co.il\/notebook\/","logo":{"@type":"ImageObject","inLanguage":"he-IL","@id":"https:\/\/epicmarketing.co.il\/notebook\/#\/schema\/logo\/image\/","url":"https:\/\/epicmarketing.co.il\/notebook\/wp-content\/uploads\/2023\/07\/logo-epic-marketing-05.png","contentUrl":"https:\/\/epicmarketing.co.il\/notebook\/wp-content\/uploads\/2023\/07\/logo-epic-marketing-05.png","width":3626,"height":1942,"caption":"Code Notebook"},"image":{"@id":"https:\/\/epicmarketing.co.il\/notebook\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/epicmarketing.co.il\/notebook\/#\/schema\/person\/195dfc625818eadda7903d456890e24c","name":"kerendanino","image":{"@type":"ImageObject","inLanguage":"he-IL","@id":"https:\/\/secure.gravatar.com\/avatar\/285cc9389c66aa46da1e26a474b1e90e9efaf3fa21f1b928cbd63ce5f0e89c63?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/285cc9389c66aa46da1e26a474b1e90e9efaf3fa21f1b928cbd63ce5f0e89c63?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/285cc9389c66aa46da1e26a474b1e90e9efaf3fa21f1b928cbd63ce5f0e89c63?s=96&d=mm&r=g","caption":"kerendanino"},"url":"https:\/\/epicmarketing.co.il\/notebook\/author\/kerendanino\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/epicmarketing.co.il\/notebook\/wp-json\/wp\/v2\/posts\/1963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/epicmarketing.co.il\/notebook\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/epicmarketing.co.il\/notebook\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/epicmarketing.co.il\/notebook\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/epicmarketing.co.il\/notebook\/wp-json\/wp\/v2\/comments?post=1963"}],"version-history":[{"count":2,"href":"https:\/\/epicmarketing.co.il\/notebook\/wp-json\/wp\/v2\/posts\/1963\/revisions"}],"predecessor-version":[{"id":1968,"href":"https:\/\/epicmarketing.co.il\/notebook\/wp-json\/wp\/v2\/posts\/1963\/revisions\/1968"}],"wp:attachment":[{"href":"https:\/\/epicmarketing.co.il\/notebook\/wp-json\/wp\/v2\/media?parent=1963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/epicmarketing.co.il\/notebook\/wp-json\/wp\/v2\/categories?post=1963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/epicmarketing.co.il\/notebook\/wp-json\/wp\/v2\/tags?post=1963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}