{"id":1590,"date":"2020-10-25T08:47:38","date_gmt":"2020-10-25T08:47:38","guid":{"rendered":"https:\/\/serkanseker.com\/?p=1590"},"modified":"2020-12-08T15:35:20","modified_gmt":"2020-12-08T15:35:20","slug":"swagger-api-documentation-tool","status":"publish","type":"post","link":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/","title":{"rendered":"Swagger API Documentation Tool"},"content":{"rendered":"\n<p>Do you need documentation showing how developers and customers will use web API projects? And you think how to document your API. Don&#8217;t worry, there are several tools that do this. The most preferred of these is the Swagger Documentation Tool. At the end of this post, you will be able to document your API and present it to the end user.<\/p>\n\n\n\n<p>In this post, I will document the web API project we created earlier. If you do not have a web API project, read the <a href=\"https:\/\/serkanseker.com\/create-and-consume-asp-net-core-web-api\/\">Create And Consume ASP.NET Core Web API<\/a> to create a Web API. <\/p>\n\n\n\n<div class=\"schema-how-to wp-block-yoast-how-to-block\"><p class=\"schema-how-to-description\">Table Of Contents<\/p> <ol class=\"schema-how-to-steps\"><li class=\"schema-how-to-step\" id=\"how-to-step-1603640373030\"><strong class=\"schema-how-to-step-name\"><a href=\"#what-is-swagger\">What is Swagger?<\/a><\/strong> <p class=\"schema-how-to-step-text\"><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1603640391946\"><strong class=\"schema-how-to-step-name\"><a href=\"#Download-NSwag.AspNetCore-NuGet-Package\">Download NSwag.AspNetCore NuGet Package<\/a><\/strong> <p class=\"schema-how-to-step-text\"><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1603640722995\"><strong class=\"schema-how-to-step-name\"><a href=\"#Configure-Swagger-Middleware\">Configure Swagger Middleware<\/a><\/strong> <p class=\"schema-how-to-step-text\"><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1603640781590\"><strong class=\"schema-how-to-step-name\"><a href=\"#Test-Methods-Swagger\">Test Methods in Swagger<\/a><\/strong> <p class=\"schema-how-to-step-text\"><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1603640831700\"><strong class=\"schema-how-to-step-name\"><a href=\"#Add-Description-Methods\">Add Description to Methods<\/a><\/strong> <p class=\"schema-how-to-step-text\"><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1603640874333\"><strong class=\"schema-how-to-step-name\"><a href=\"#API-Info-Description\">API Info And Description<\/a><\/strong> <p class=\"schema-how-to-step-text\"><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1603640930513\"><strong class=\"schema-how-to-step-name\"><a href=\"#Conclusion\">Conclusion<\/a><\/strong> <p class=\"schema-how-to-step-text\"><\/p> <\/li><\/ol><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-swagger\">What is Swagger?<\/h2>\n\n\n\n<p>Developed by SmartBear to better implement and visualize APIs. They define themselves as follows:<\/p>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><\/div>\n<\/div>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>Swagger<\/strong>&nbsp;is a set of rules (in other words, a specification) for a format describing REST&nbsp;<strong>APIs<\/strong>. As a result, it can be used to share documentation among product managers, testers and developers, but can also be used by various&nbsp;<strong>tools<\/strong>&nbsp;to automate&nbsp;<strong>API<\/strong>-related processes.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Download-NSwag.AspNetCore-NuGet-Package\">Download NSwag.AspNetCore NuGet Package<\/h2>\n\n\n\n<p>Right-click the existing API project and click the Manage NuGet package option. For Core based projects, search and download the <a href=\"https:\/\/www.nuget.org\/packages\/NSwag.AspNetCore\/\" target=\"_blank\" rel=\"noreferrer noopener\">NSwag.AspNetCore<\/a> plugin here. Or you can install it by typing the following line into Package Manager Console.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Install-Package NSwag.AspNetCore -Version 13.8.2<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large has-lightbox\"><img decoding=\"async\" src=\"https:\/\/serkanseker.com\/wp-content\/uploads\/2020\/10\/Download-NSwag.AspNetCore-NuGet-Package.jpg\" alt=\"Download NSwag.AspNetCore NuGet Package\" class=\"wp-image-1591\"\/><figcaption>Download NSwag.AspNetCore NuGet Package<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Configure-Swagger-Middleware\">Configure Swagger Middleware<\/h2>\n\n\n\n<p>After loading the plugin to the project, we must declare the Swagger document in the ConfigureServices and Configure methods in the Startup.cs class.<\/p>\n\n\n\n<p>Add the following line to the ConfigureServices method of the Startup.cs class. This code registers the plugin&#8217;s services.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">services.AddSwaggerDocument();<\/code><\/pre>\n\n\n\n<p>And, add the following lines to enable middleware to provide Swagger features and user interface in Configure method.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">app.UseOpenApi();\napp.UseSwaggerUi3();<\/code><\/pre>\n\n\n\n<p>Run the application and go to <strong>http:\/\/localhost:&lt;port&gt;\/swagger<\/strong> to view the interface. Also, go to <strong>http:\/\/localhost:&lt;port&gt;\/swagger\/v1\/swagger.json<\/strong> to view properties.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/serkanseker.com\/wp-content\/uploads\/2020\/10\/Launch-Swagger-1024x543.jpg\" alt=\"Launch Swagger\" class=\"wp-image-1594\"\/><figcaption>Launch Swagger<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Test-Methods-Swagger\">Test Methods in Swagger<\/h2>\n\n\n\n<p>Let me try the Users Controllers&#8217; GET method as an example. Click on the try it out button and enter the id parameter. Then click on execute.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/serkanseker.com\/wp-content\/uploads\/2020\/10\/Swagger-Test-Methods-1024x543.jpg\" alt=\"Test Methods\" class=\"wp-image-1599\"\/><figcaption>Swagger Test Methods<\/figcaption><\/figure>\n\n\n\n<p>This is our result. You can also download the response body as JSON file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Add-Description-Methods\">Add Description to Methods<\/h2>\n\n\n\n<p>We can write a summary on the methods in the Controllers classes, explaining which methods will be used for what, which parameters will be taken to the user. Swagger will add these summaries as comments next to the methods. Let&#8217;s do an example.<\/p>\n\n\n\n<p>First, write the required explanation in the summary tag above the method as below. <strong>Tip<\/strong>: Typing \/\/\/ automatically opens the summary tab.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">\/\/\/ &lt;summary&gt;\n\/\/\/ Get All Users from database.\n\/\/\/ &lt;\/summary&gt;\n\/\/\/ &lt;returns&gt;&lt;\/returns&gt;\n\/\/ GET: api\/Users\n[HttpGet]\npublic async Task&lt;ActionResult&lt;IEnumerable&lt;Users&gt;&gt;&gt; GetUsers()\n{   \n    return await _context.Users.ToListAsync();\n}<\/code><\/pre>\n\n\n\n<p>Then right click on the project and open the properties window. Then, activate the <strong>XML documentation file<\/strong> option from the Build tab.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/serkanseker.com\/wp-content\/uploads\/2020\/10\/XML-documentation-file-1024x545.jpg\" alt=\"XML documentation file\" class=\"wp-image-1595\"\/><figcaption><strong>XML documentation file<\/strong><\/figcaption><\/figure>\n\n\n\n<p>Here now run the application.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/serkanseker.com\/wp-content\/uploads\/2020\/10\/Add-Description-to-Methods-1024x545.jpg\" alt=\"Add Description to Methods\" class=\"wp-image-1596\"\/><figcaption>Add Description to Methods<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"API-Info-Description\">API Info And Description<\/h2>\n\n\n\n<p>To add information such as author, license, version to the document, you can add the required information to the <strong>AddSwaggerDocument<\/strong> method in the <strong>Startup.ConfigureServices<\/strong> method.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">            services.AddSwaggerDocument(config =&gt;\n            {\n                config.PostProcess = (doc =&gt;\n                {\n                    doc.Info.Version = &quot;v2&quot;;\n                    doc.Info.Title = &quot;Palette Core API&quot;;\n                    doc.Info.Contact = new NSwag.OpenApiContact()\n                    {\n                        Name = &quot;Serkan&quot;,\n                        Url = &quot;https:\/\/serkanseker.com\/&quot;,\n                        Email = &quot;info@codesitory.com&quot;,\n                    };\n                });\n            });<\/code><\/pre>\n\n\n\n<p>Here now run the application.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/serkanseker.com\/wp-content\/uploads\/2020\/10\/Swagger-API-Info-And-Description.jpg\" alt=\"Swagger API Info And Description\" class=\"wp-image-1598\"\/><figcaption>Swagger API Info And Description<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Conclusion\"> Conclusion<\/h2>\n\n\n\n<p>Documentation preparation process for Web API projects can be done easily with the help of Swagger. In addition, the response bodies of the tested queries can be downloaded in JSON format. That&#8217;s all from this post.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Related Links<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/serkanseker.com\/create-and-consume-asp-net-core-web-api\/\" target=\"_blank\" rel=\"noreferrer noopener\">Create And Consume ASP.NET Core Web API<\/a><\/li><li><a href=\"https:\/\/serkanseker.com\/asp-net-core-web-api-application-structure\/\" target=\"_blank\" rel=\"noreferrer noopener\">ASP.NET Core Web API Application Structure<\/a><\/li><li><a href=\"https:\/\/serkanseker.com\/asp-net-core-web-api-entity-framework-scaffolding\/\" target=\"_blank\" rel=\"noreferrer noopener\">ASP.NET Core Web API Entity Framework Scaffolding<\/a><\/li><li><a href=\"https:\/\/serkanseker.com\/testing-web-api-using-postman\/\" target=\"_blank\" rel=\"noreferrer noopener\">Testing Web API Using Postman \u2013 ASP.NET Web API<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Do you need documentation showing how developers and customers will use web API projects? And you think how to document your API. Don&#8217;t worry, there are several tools that do this. The most preferred of these is the Swagger Documentation Tool. At the end of this post, you will be able to document your API and present it to the end user.<\/p>\n","protected":false},"author":1,"featured_media":202,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[49],"tags":[50,51,206],"class_list":["post-1590","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asp-net","tag-asp-net","tag-asp-net-core","tag-swagger"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Swagger API Documentation Tool - Serkan Seker TR<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Swagger API Documentation Tool - Serkan Seker TR\" \/>\n<meta property=\"og:description\" content=\"Do you need documentation showing how developers and customers will use web API projects? And you think how to document your API. Don&#039;t worry, there are several tools that do this. The most preferred of these is the Swagger Documentation Tool. At the end of this post, you will be able to document your API and present it to the end user.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/\" \/>\n<meta property=\"og:site_name\" content=\"Serkan Seker TR\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-25T08:47:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-12-08T15:35:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Swagger-API-Documentation-Tool.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1\" \/>\n\t<meta property=\"og:image:height\" content=\"1\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"serkanadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"serkanadmin\" \/>\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\",\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/\"},\"author\":{\"name\":\"serkanadmin\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\"},\"headline\":\"Swagger API Documentation Tool\",\"datePublished\":\"2020-10-25T08:47:38+00:00\",\"dateModified\":\"2020-12-08T15:35:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/\"},\"wordCount\":607,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Swagger-API-Documentation-Tool.jpg\",\"keywords\":[\"ASP.NET\",\"ASP.NET Core\",\"swagger\"],\"articleSection\":[\"ASP.NET\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/\",\"url\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/\",\"name\":\"Swagger API Documentation Tool - Serkan Seker TR\",\"isPartOf\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Swagger-API-Documentation-Tool.jpg\",\"datePublished\":\"2020-10-25T08:47:38+00:00\",\"dateModified\":\"2020-12-08T15:35:20+00:00\",\"author\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\"},\"breadcrumb\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#primaryimage\",\"url\":\"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Swagger-API-Documentation-Tool.jpg\",\"contentUrl\":\"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Swagger-API-Documentation-Tool.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/serkanseker.com\/tr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Swagger API Documentation Tool\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#website\",\"url\":\"https:\/\/serkanseker.com\/tr\/\",\"name\":\"Serkan Seker TR\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/serkanseker.com\/tr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\",\"name\":\"serkanadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g\",\"caption\":\"serkanadmin\"},\"sameAs\":[\"https:\/\/serkanseker.com\"],\"url\":\"https:\/\/serkanseker.com\/tr\/author\/serkanadmin\/\"},{\"@type\":\"HowTo\",\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#howto-1\",\"name\":\"Swagger API Documentation Tool\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#article\"},\"description\":\"Table Of Contents\",\"step\":[{\"@type\":\"HowToStep\",\"url\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640373030\",\"text\":\"What is Swagger?\"},{\"@type\":\"HowToStep\",\"url\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640391946\",\"text\":\"Download NSwag.AspNetCore NuGet Package\"},{\"@type\":\"HowToStep\",\"url\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640722995\",\"text\":\"Configure Swagger Middleware\"},{\"@type\":\"HowToStep\",\"url\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640781590\",\"text\":\"Test Methods in Swagger\"},{\"@type\":\"HowToStep\",\"url\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640831700\",\"text\":\"Add Description to Methods\"},{\"@type\":\"HowToStep\",\"url\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640874333\",\"text\":\"API Info And Description\"},{\"@type\":\"HowToStep\",\"url\":\"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640930513\",\"text\":\"Conclusion\"}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Swagger API Documentation Tool - Serkan Seker TR","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Swagger API Documentation Tool - Serkan Seker TR","og_description":"Do you need documentation showing how developers and customers will use web API projects? And you think how to document your API. Don't worry, there are several tools that do this. The most preferred of these is the Swagger Documentation Tool. At the end of this post, you will be able to document your API and present it to the end user.","og_url":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/","og_site_name":"Serkan Seker TR","article_published_time":"2020-10-25T08:47:38+00:00","article_modified_time":"2020-12-08T15:35:20+00:00","og_image":[{"url":"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Swagger-API-Documentation-Tool.jpg","width":1,"height":1,"type":"image\/jpeg"}],"author":"serkanadmin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"serkanadmin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#article","isPartOf":{"@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/"},"author":{"name":"serkanadmin","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5"},"headline":"Swagger API Documentation Tool","datePublished":"2020-10-25T08:47:38+00:00","dateModified":"2020-12-08T15:35:20+00:00","mainEntityOfPage":{"@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/"},"wordCount":607,"commentCount":0,"image":{"@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#primaryimage"},"thumbnailUrl":"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Swagger-API-Documentation-Tool.jpg","keywords":["ASP.NET","ASP.NET Core","swagger"],"articleSection":["ASP.NET"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/","url":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/","name":"Swagger API Documentation Tool - Serkan Seker TR","isPartOf":{"@id":"https:\/\/serkanseker.com\/tr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#primaryimage"},"image":{"@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#primaryimage"},"thumbnailUrl":"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Swagger-API-Documentation-Tool.jpg","datePublished":"2020-10-25T08:47:38+00:00","dateModified":"2020-12-08T15:35:20+00:00","author":{"@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5"},"breadcrumb":{"@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#primaryimage","url":"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Swagger-API-Documentation-Tool.jpg","contentUrl":"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Swagger-API-Documentation-Tool.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/serkanseker.com\/tr\/"},{"@type":"ListItem","position":2,"name":"Swagger API Documentation Tool"}]},{"@type":"WebSite","@id":"https:\/\/serkanseker.com\/tr\/#website","url":"https:\/\/serkanseker.com\/tr\/","name":"Serkan Seker TR","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/serkanseker.com\/tr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5","name":"serkanadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g","caption":"serkanadmin"},"sameAs":["https:\/\/serkanseker.com"],"url":"https:\/\/serkanseker.com\/tr\/author\/serkanadmin\/"},{"@type":"HowTo","@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#howto-1","name":"Swagger API Documentation Tool","mainEntityOfPage":{"@id":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#article"},"description":"Table Of Contents","step":[{"@type":"HowToStep","url":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640373030","text":"What is Swagger?"},{"@type":"HowToStep","url":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640391946","text":"Download NSwag.AspNetCore NuGet Package"},{"@type":"HowToStep","url":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640722995","text":"Configure Swagger Middleware"},{"@type":"HowToStep","url":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640781590","text":"Test Methods in Swagger"},{"@type":"HowToStep","url":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640831700","text":"Add Description to Methods"},{"@type":"HowToStep","url":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640874333","text":"API Info And Description"},{"@type":"HowToStep","url":"https:\/\/serkanseker.com\/tr\/swagger-api-documentation-tool\/#how-to-step-1603640930513","text":"Conclusion"}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts\/1590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/comments?post=1590"}],"version-history":[{"count":0,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts\/1590\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/media\/202"}],"wp:attachment":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/media?parent=1590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/categories?post=1590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/tags?post=1590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}