{"id":84787,"date":"2023-03-23T05:00:45","date_gmt":"2023-03-23T04:00:45","guid":{"rendered":"https:\/\/code-maze.com\/?p=84787"},"modified":"2024-01-31T15:35:43","modified_gmt":"2024-01-31T14:35:43","slug":"apsnetcore-webapi-addendpointsapiexplorer-method","status":"publish","type":"post","link":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/","title":{"rendered":"The AddEndpointsApiExplorer Method in ASP.NET Core"},"content":{"rendered":"<p>In this article, we are going to learn about the AddEndpointsApiExplorer method in ASP.NET Core. We will learn why we need it and how we use it in our applications.<\/p>\n<p>For this article, we will use an ASP.NET Core Web API application with Swagger support. If you feel the need to brush up, we have an introductory article about <a href=\"https:\/\/code-maze.com\/swagger-ui-asp-net-core-web-api\/\" target=\"_blank\" rel=\"noopener\">setting up Swagger<\/a>.<\/p>\n<div style=\"padding: 20px; border-left: 5px #dc2323 solid; display: block; margin-bottom: 20px; box-shadow: 1px 1px 5px 0px lightgrey;\">To download the source code for this article, you can visit our <a href=\"https:\/\/github.com\/CodeMazeBlog\/CodeMazeGuides\/tree\/main\/aspnetcore-webapi\/AddEndpointsApiExplorerMethod\" target=\"_blank\" rel=\"nofollow noopener\">GitHub repository<\/a>.<\/div>\n<p>Let&#8217;s begin.<\/p>\n<h2>What is AddEndpointsApiExplorer Method?<\/h2>\n<p>The <code>AddEndpointsApiExplorer()<\/code> is an extension method in the <code>Microsoft.AspNetCore.Mvc.ApiExplorer<\/code> package that comes bootstrapped with the Web API.<\/p>\n<p>When setting up a Web API in Visual Studio, the <code>AddEndpointsApiExplorer()<\/code> method comes as part of the boilerplate code in the <code>Program.cs<\/code> file.<\/p>\n<p>The method call <code>builder.Services.AddEndpointsApiExplorer()<\/code>\u00a0registers services that expose information about our endpoints:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">public static IServiceCollection AddEndpointsApiExplorer(this IServiceCollection services)\r\n{\r\n    \/\/ Try to add default services in case MVC services aren't added.\r\n    services.TryAddSingleton&lt;IActionDescriptorCollectionProvider, DefaultActionDescriptorCollectionProvider&gt;();\r\n    services.TryAddSingleton&lt;IApiDescriptionGroupCollectionProvider, ApiDescriptionGroupCollectionProvider&gt;();\r\n\r\n    services.TryAddEnumerable(\r\n        ServiceDescriptor.Transient&lt;IApiDescriptionProvider, EndpointMetadataApiDescriptionProvider&gt;());\r\n\r\n    return services;\r\n}<\/pre>\n<p>These services<span style=\"font-weight: 400;\"> are used by Swagger and any other API documentation tool to generate documentation for our API in order for it to know underlying information<\/span>.<\/p>\n<p>The vital information we get in the documentation includes endpoint URLs, HTTP methods, request parameters, and schemas for our requests and responses.<\/p>\n<p>Having set a foundation on what the method is and what it does, let&#8217;s pass to action.<\/p>\n<h2>Why Do We Need AddEndpointsApiExplorer Method?<\/h2>\n<p>Let&#8217;s set up a new ASP.NET Core Web API project in Visual Studio with Open API support enabled. Alternatively, we could use the command line by running the command:<\/p>\n<p><code class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">dotnet new webapi -n SampleApi<\/code><\/p>\n<p>After that, let&#8217;s add a <a href=\"https:\/\/code-maze.com\/dotnet-minimal-api\/\" target=\"_blank\" rel=\"noopener\">Minimal API<\/a> endpoint to the <code>Program.cs<\/code> file:<\/p>\n<p><code class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">app.MapGet(\"\/car-models\", () =&gt; new[] { \"Chevrolet\", \"Tesla\", \"Nissan\" });<\/code><\/p>\n<p>For learning purposes and to understand the effect of the <code>AddEndpointsApiExplorer()<\/code> method, let&#8217;s go ahead and delete it from <code>Program.cs<\/code>. When we run our application, we only see the <code>\/WeatherForecast<\/code> endpoint in the Swagger UI documentation.<\/p>\n<p>Internally, <strong>Swagger uses types registered by the<\/strong> <code>AddEndpointsApiExplorer()<\/code> <strong>method to generate API documentation<\/strong>. It goes without saying, that when we remove the method call, these necessary services aren&#8217;t registered. That&#8217;s why the MapGet endpoint is missing in Swagger UI.<\/p>\n<p>On the other hand, the controller endpoint is displayed because the <code>AddControllers()<\/code> method calls <span style=\"font-weight: 400;\"><code>AddApiExplorer()<\/code>\u00a0which <strong>only registers services to discover controller endpoints and not Minimal API endpoints<\/strong>. If you want to learn more about <code>AddApiExplorer()<\/code> check out this <a href=\"https:\/\/andrewlock.net\/introduction-to-the-apiexplorer-in-asp-net-core\/\" target=\"_blank\" rel=\"nofollow noopener\">Introduction to ApiExplorer<\/a> by Andrew Lock.<\/span><\/p>\n<p>Now, let&#8217;s add back the <code>AddEndpointsApiExplorer()<\/code> method call to the <code>Program.cs<\/code> file. At this point, if we run the API we get a Swagger UI with the two endpoints:<\/p>\n<ul>\n<li>The <code>\/WeatherForecast<\/code> endpoint<\/li>\n<li>The <code>\/car-models<\/code> endpoint<\/li>\n<\/ul>\n<p>The <code>AddEndpointsApiExplorer()<\/code> was created specifically to make Swagger support Minimal APIs. Even though we also have the method in a Web API application with controllers, removing it from the application does not break it.<\/p>\n<p>However, if we remove both <code>AddControllers()<\/code> and <code>AddEndpointsApiExplorer()<\/code> calls from our service registration, we get an error running the application. This is because<strong> after removing the method calls, registration of services required by Swagger does not happen<\/strong>. So when Swagger tries generating the API documentation, it fails. <span style=\"font-weight: 400;\">This explains why we need to call both methods in our application when we have both Controller APIs and Minimal APIs<\/span>.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this article, we have learned about the AddEndpointsApiExplorer method in ASP.NET Core and its role in generating API documentation. In addition to that, we have covered how it differs from AddApiExplorer called by AddControllers. You can build on this knowledge in your applications going forward. Until next time, keep learning!\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, we are going to learn about the AddEndpointsApiExplorer method in ASP.NET Core. We will learn why we need it and how we use it in our applications. For this article, we will use an ASP.NET Core Web API application with Swagger support. If you feel the need to brush up, we have [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":62187,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[2058],"tags":[10,1705,79,586,1432],"class_list":["post-84787","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-methods","tag-net","tag-addendpointsapiexplorer","tag-asp-net-core","tag-asp-net-core-web-api","tag-minimal-apis","et-has-post-format-content","et_post_format-et-post-format-standard"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The AddEndpointsApiExplorer Method in ASP.NET Core -<\/title>\n<meta name=\"description\" content=\"What is the AddEndpointsApiExplorer method and why do we need it (Minimal APIs)? Is it different than the ApiEndpoints method?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The AddEndpointsApiExplorer Method in ASP.NET Core -\" \/>\n<meta property=\"og:description\" content=\"What is the AddEndpointsApiExplorer method and why do we need it (Minimal APIs)? Is it different than the ApiEndpoints method?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/\" \/>\n<meta property=\"og:site_name\" content=\"Code Maze\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-23T04:00:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-31T14:35:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-aspnetcore.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"620\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Code Maze\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/CodeMazeBlog\" \/>\n<meta name=\"twitter:site\" content=\"@CodeMazeBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Code Maze\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/\"},\"author\":{\"name\":\"Code Maze\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04\"},\"headline\":\"The AddEndpointsApiExplorer Method in ASP.NET Core\",\"datePublished\":\"2023-03-23T04:00:45+00:00\",\"dateModified\":\"2024-01-31T14:35:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/\"},\"wordCount\":554,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/code-maze.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-aspnetcore.png\",\"keywords\":[\".NET\",\"AddEndpointsApiExplorer\",\"asp.net core\",\"asp.net core web api\",\"Minimal APIs\"],\"articleSection\":[\"Methods\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/\",\"url\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/\",\"name\":\"The AddEndpointsApiExplorer Method in ASP.NET Core -\",\"isPartOf\":{\"@id\":\"https:\/\/code-maze.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-aspnetcore.png\",\"datePublished\":\"2023-03-23T04:00:45+00:00\",\"dateModified\":\"2024-01-31T14:35:43+00:00\",\"description\":\"What is the AddEndpointsApiExplorer method and why do we need it (Minimal APIs)? Is it different than the ApiEndpoints method?\",\"breadcrumb\":{\"@id\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#primaryimage\",\"url\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-aspnetcore.png\",\"contentUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-aspnetcore.png\",\"width\":1100,\"height\":620,\"caption\":\"ASP.NET Core\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/code-maze.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The AddEndpointsApiExplorer Method in ASP.NET Core\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/code-maze.com\/#website\",\"url\":\"https:\/\/code-maze.com\/\",\"name\":\"Code Maze\",\"description\":\"Learn. Code. Succeed.\",\"publisher\":{\"@id\":\"https:\/\/code-maze.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/code-maze.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/code-maze.com\/#organization\",\"name\":\"Code Maze\",\"url\":\"https:\/\/code-maze.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png\",\"contentUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png\",\"width\":3511,\"height\":3510,\"caption\":\"Code Maze\"},\"image\":{\"@id\":\"https:\/\/code-maze.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/CodeMazeBlog\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04\",\"name\":\"Code Maze\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png\",\"contentUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png\",\"caption\":\"Code Maze\"},\"description\":\"This is the standard author on the site. Most articles are published by individual authors, with their profiles, but when several authors have contributed, we publish collectively as a part of this profile.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/codemaze\/\",\"https:\/\/x.com\/https:\/\/twitter.com\/CodeMazeBlog\"],\"url\":\"https:\/\/code-maze.com\/author\/codemazecontributor\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The AddEndpointsApiExplorer Method in ASP.NET Core -","description":"What is the AddEndpointsApiExplorer method and why do we need it (Minimal APIs)? Is it different than the ApiEndpoints method?","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:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/","og_locale":"en_US","og_type":"article","og_title":"The AddEndpointsApiExplorer Method in ASP.NET Core -","og_description":"What is the AddEndpointsApiExplorer method and why do we need it (Minimal APIs)? Is it different than the ApiEndpoints method?","og_url":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/","og_site_name":"Code Maze","article_published_time":"2023-03-23T04:00:45+00:00","article_modified_time":"2024-01-31T14:35:43+00:00","og_image":[{"width":1100,"height":620,"url":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-aspnetcore.png","type":"image\/png"}],"author":"Code Maze","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/CodeMazeBlog","twitter_site":"@CodeMazeBlog","twitter_misc":{"Written by":"Code Maze","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#article","isPartOf":{"@id":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/"},"author":{"name":"Code Maze","@id":"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04"},"headline":"The AddEndpointsApiExplorer Method in ASP.NET Core","datePublished":"2023-03-23T04:00:45+00:00","dateModified":"2024-01-31T14:35:43+00:00","mainEntityOfPage":{"@id":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/"},"wordCount":554,"commentCount":0,"publisher":{"@id":"https:\/\/code-maze.com\/#organization"},"image":{"@id":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#primaryimage"},"thumbnailUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-aspnetcore.png","keywords":[".NET","AddEndpointsApiExplorer","asp.net core","asp.net core web api","Minimal APIs"],"articleSection":["Methods"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/","url":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/","name":"The AddEndpointsApiExplorer Method in ASP.NET Core -","isPartOf":{"@id":"https:\/\/code-maze.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#primaryimage"},"image":{"@id":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#primaryimage"},"thumbnailUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-aspnetcore.png","datePublished":"2023-03-23T04:00:45+00:00","dateModified":"2024-01-31T14:35:43+00:00","description":"What is the AddEndpointsApiExplorer method and why do we need it (Minimal APIs)? Is it different than the ApiEndpoints method?","breadcrumb":{"@id":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#primaryimage","url":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-aspnetcore.png","contentUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-aspnetcore.png","width":1100,"height":620,"caption":"ASP.NET Core"},{"@type":"BreadcrumbList","@id":"https:\/\/code-maze.com\/apsnetcore-webapi-addendpointsapiexplorer-method\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/code-maze.com\/"},{"@type":"ListItem","position":2,"name":"The AddEndpointsApiExplorer Method in ASP.NET Core"}]},{"@type":"WebSite","@id":"https:\/\/code-maze.com\/#website","url":"https:\/\/code-maze.com\/","name":"Code Maze","description":"Learn. Code. Succeed.","publisher":{"@id":"https:\/\/code-maze.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/code-maze.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/code-maze.com\/#organization","name":"Code Maze","url":"https:\/\/code-maze.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/code-maze.com\/#\/schema\/logo\/image\/","url":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png","contentUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png","width":3511,"height":3510,"caption":"Code Maze"},"image":{"@id":"https:\/\/code-maze.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/CodeMazeBlog"]},{"@type":"Person","@id":"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04","name":"Code Maze","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/code-maze.com\/#\/schema\/person\/image\/","url":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png","contentUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png","caption":"Code Maze"},"description":"This is the standard author on the site. Most articles are published by individual authors, with their profiles, but when several authors have contributed, we publish collectively as a part of this profile.","sameAs":["https:\/\/www.linkedin.com\/company\/codemaze\/","https:\/\/x.com\/https:\/\/twitter.com\/CodeMazeBlog"],"url":"https:\/\/code-maze.com\/author\/codemazecontributor\/"}]}},"_links":{"self":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts\/84787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/comments?post=84787"}],"version-history":[{"count":2,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts\/84787\/revisions"}],"predecessor-version":[{"id":84789,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts\/84787\/revisions\/84789"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/media\/62187"}],"wp:attachment":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/media?parent=84787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/categories?post=84787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/tags?post=84787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}