{"id":4252,"date":"2024-03-13T08:11:49","date_gmt":"2024-03-13T08:11:49","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/"},"modified":"2025-07-31T05:19:49","modified_gmt":"2025-07-31T05:19:49","slug":"how-to-automatically-generate-api-documentation-in-springboot","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/","title":{"rendered":"SpringBoot Swagger: Auto-Generate API Docs"},"content":{"rendered":"<p>In SpringBoot, interface documentation can be automatically generated using Swagger. Swagger is a tool for designing, building, and documenting APIs, making it easy to generate API documentation and providing an interactive UI interface for developers and users to intuitively understand the functionality and usage of the API.<\/p>\n<p>Here are the steps to generate API documentation automatically using Swagger in SpringBoot.<\/p>\n<ol>\n<li>Add the Swagger dependency in the pom.xml file.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>io.springfox<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>springfox-boot-starter<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">version<\/span>&gt;<\/span>3.0.0<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">version<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Add the @EnableSwagger2 annotation in the main class to enable Swagger.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@SpringBootApplication<\/span>\r\n<span class=\"hljs-meta\">@EnableSwagger2<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Application<\/span> {\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">(String[] args)<\/span> {\r\n        SpringApplication.run(Application.class, args);\r\n    }\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Create a configuration class called SwaggerConfig to set up Swagger-related information.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@Configuration<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">SwaggerConfig<\/span> {\r\n    <span class=\"hljs-meta\">@Bean<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> Docket <span class=\"hljs-title function_\">api<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Docket<\/span>(DocumentationType.SWAGGER_2)\r\n            .select()\r\n            .apis(RequestHandlerSelectors.basePackage(<span class=\"hljs-string\">\"com.example.controller\"<\/span>))\r\n            .paths(PathSelectors.any())\r\n            .build();\r\n    }\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Write a Controller class and use Swagger annotations on the methods.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@RestController<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">ExampleController<\/span> {\r\n\r\n    <span class=\"hljs-meta\">@ApiOperation(\"\u83b7\u53d6\u7528\u6237\u4fe1\u606f\")<\/span>\r\n    <span class=\"hljs-meta\">@GetMapping(\"\/user\/{id}\")<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> User <span class=\"hljs-title function_\">getUser<\/span><span class=\"hljs-params\">(<span class=\"hljs-meta\">@PathVariable<\/span> Long id)<\/span> {\r\n        <span class=\"hljs-comment\">\/\/ code<\/span>\r\n    }\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>You can view the generated API documentation by visiting http:\/\/localhost:8080\/swagger-ui\/.<\/li>\n<\/ol>\n<p>By following the above steps, you can automatically generate interface documentation in a SpringBoot project and easily view the interface documentation through Swagger&#8217;s UI interface.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In SpringBoot, interface documentation can be automatically generated using Swagger. Swagger is a tool for designing, building, and documenting APIs, making it easy to generate API documentation and providing an interactive UI interface for developers and users to intuitively understand the functionality and usage of the API. Here are the steps to generate API documentation [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[3423,3641,3642,3421,3643],"class_list":["post-4252","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-api-documentation","tag-java-rest","tag-spring-rest-api","tag-springboot-swagger","tag-swagger-setup"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SpringBoot Swagger: Auto-Generate API Docs - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Automatically generate interactive API docs in SpringBoot using Swagger. Step-by-step implementation guide.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SpringBoot Swagger: Auto-Generate API Docs\" \/>\n<meta property=\"og:description\" content=\"Automatically generate interactive API docs in SpringBoot using Swagger. Step-by-step implementation guide.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-13T08:11:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T05:19:49+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isabella Edwards\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"SpringBoot Swagger: Auto-Generate API Docs\",\"datePublished\":\"2024-03-13T08:11:49+00:00\",\"dateModified\":\"2025-07-31T05:19:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/\"},\"wordCount\":145,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"API Documentation\",\"Java REST\",\"Spring REST API\",\"SpringBoot Swagger\",\"Swagger setup\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/\",\"name\":\"SpringBoot Swagger: Auto-Generate API Docs - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-13T08:11:49+00:00\",\"dateModified\":\"2025-07-31T05:19:49+00:00\",\"description\":\"Automatically generate interactive API docs in SpringBoot using Swagger. Step-by-step implementation guide.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SpringBoot Swagger: Auto-Generate API Docs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SpringBoot Swagger: Auto-Generate API Docs - Blog - Silicon Cloud","description":"Automatically generate interactive API docs in SpringBoot using Swagger. Step-by-step implementation guide.","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:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/","og_locale":"en_US","og_type":"article","og_title":"SpringBoot Swagger: Auto-Generate API Docs","og_description":"Automatically generate interactive API docs in SpringBoot using Swagger. Step-by-step implementation guide.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-13T08:11:49+00:00","article_modified_time":"2025-07-31T05:19:49+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"SpringBoot Swagger: Auto-Generate API Docs","datePublished":"2024-03-13T08:11:49+00:00","dateModified":"2025-07-31T05:19:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/"},"wordCount":145,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["API Documentation","Java REST","Spring REST API","SpringBoot Swagger","Swagger setup"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/","name":"SpringBoot Swagger: Auto-Generate API Docs - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-13T08:11:49+00:00","dateModified":"2025-07-31T05:19:49+00:00","description":"Automatically generate interactive API docs in SpringBoot using Swagger. Step-by-step implementation guide.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-automatically-generate-api-documentation-in-springboot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SpringBoot Swagger: Auto-Generate API Docs"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=4252"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4252\/revisions"}],"predecessor-version":[{"id":148919,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4252\/revisions\/148919"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=4252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=4252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=4252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}