{"id":18829,"date":"2021-10-23T11:40:54","date_gmt":"2021-10-23T04:40:54","guid":{"rendered":"https:\/\/huongdanjava.com\/?p=18829"},"modified":"2024-10-15T06:32:06","modified_gmt":"2024-10-14T23:32:06","slug":"using-flyway-in-spring-boot","status":"publish","type":"post","link":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html","title":{"rendered":"Using Flyway in Spring Boot"},"content":{"rendered":"<p>I introduced you to <a href=\"https:\/\/huongdanjava.com\/database-migration-using-flyway.html\" target=\"_blank\" rel=\"noopener\">Flyway<\/a> to implement database migration. For Spring Boot applications that want to use Flyway, this integration is easy because Spring Boot already supports it. How is it in detail? Let&#8217;s find out together in this tutorial!<\/p>\n<p>First, I will create a new Spring Boot project with Flyway, Spring Data JDBC, and PostgreSQL dependencies as follows:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-23440 size-full aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/10\/using-flyway-in-spring-boot-1.png\" alt=\"\" width=\"700\" height=\"626\" \/><\/p>\n<p>Result:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-18832 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/10\/using-flyway-in-spring-boot-2.png\" alt=\"\" width=\"700\" height=\"389\" \/><\/p>\n<p><strong>If you check the src\/main\/resources folder in the newly created project, you will see there is a folder called db\/migration. This is the default folder where we will store SQL files for Spring Boot with Flyway to do database migration, guys!<\/strong><\/p>\n<p>Now, as an example, I will create a new SQL file V2021.10.20.00000__Init.sql located in the src\/main\/resources\/db\/migration directory:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-18833 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/10\/using-flyway-in-spring-boot-3.png\" alt=\"\" width=\"700\" height=\"499\" \/><\/p>\n<p>to create a new student table as follows:<\/p>\n<pre class=\"lang:mysql decode:true \">CREATE TABLE student (\r\n    ID INT PRIMARY KEY,\r\n    name VARCHAR(250) NOT NULL\r\n);<\/pre>\n<p><strong>The next thing we need to do is configure the Datasource in the application.properties file<\/strong>, our example is as follows:<\/p>\n<pre class=\"lang:java decode:true \">spring.datasource.url=jdbc:postgresql:\/\/localhost:5432\/flyway_example\r\nspring.datasource.username=khanh\r\nspring.datasource.password=1<\/pre>\n<p>with flyway_example being my example database name.<\/p>\n<p>Now, if you run the application and access the above database, you will see the following results:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-18834 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/10\/using-flyway-in-spring-boot-4.png\" alt=\"\" width=\"646\" height=\"1142\" \/><\/p>\n<p>The flyway_schema_history table and also the student table that we defined in the SQL file have been created.<\/p>\n<p>As you can see, using Flyway in a Spring Boot application is very simple, and doesn&#8217;t take much effort, right?<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-right kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;right&quot;,&quot;id&quot;:&quot;18829&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;4&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;Using Flyway in Spring Boot&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>I introduced you to Flyway to implement database migration. For Spring Boot applications that want to use Flyway, this integration is easy because Spring Boot already supports it. How is it in detail? Let&#8217;s find out together in this tutorial! First, I will create a&hellip; <a href=\"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":17567,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2047,582],"tags":[],"class_list":["post-18829","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-flyway-en","category-spring-boot","clearfix"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Using Flyway in Spring Boot - Huong Dan Java<\/title>\n<meta name=\"description\" content=\"In this tutorial, I will guide you all on how to use Flyway in Spring Boot.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Flyway in Spring Boot - Huong Dan Java\" \/>\n<meta property=\"og:description\" content=\"In this tutorial, I will guide you all on how to use Flyway in Spring Boot.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html\" \/>\n<meta property=\"og:site_name\" content=\"Huong Dan Java\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-23T04:40:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-14T23:32:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/08\/flyway.png\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Khanh Nguyen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/KhanhNguyenJ\" \/>\n<meta name=\"twitter:site\" content=\"@KhanhNguyenJ\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Khanh Nguyen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html\"},\"author\":{\"name\":\"Khanh Nguyen\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"headline\":\"Using Flyway in Spring Boot\",\"datePublished\":\"2021-10-23T04:40:54+00:00\",\"dateModified\":\"2024-10-14T23:32:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html\"},\"wordCount\":226,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/flyway.png\",\"articleSection\":[\"Flyway\",\"Spring Boot\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html\",\"name\":\"Using Flyway in Spring Boot - Huong Dan Java\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/flyway.png\",\"datePublished\":\"2021-10-23T04:40:54+00:00\",\"dateModified\":\"2024-10-14T23:32:06+00:00\",\"description\":\"In this tutorial, I will guide you all on how to use Flyway in Spring Boot.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html#primaryimage\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/flyway.png\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/flyway.png\",\"width\":400,\"height\":400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/using-flyway-in-spring-boot.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/huongdanjava.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using Flyway in Spring Boot\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/\",\"name\":\"Huong Dan Java\",\"description\":\"Java development tutorials\",\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/huongdanjava.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\",\"name\":\"Khanh Nguyen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"width\":1267,\"height\":1517,\"caption\":\"Khanh Nguyen\"},\"logo\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\"},\"description\":\"I love Java and everything related to Java.\",\"sameAs\":[\"https:\\\/\\\/huongdanjava.com\",\"https:\\\/\\\/www.facebook.com\\\/nhkhanh2406\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/KhanhNguyenJ\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using Flyway in Spring Boot - Huong Dan Java","description":"In this tutorial, I will guide you all on how to use Flyway in Spring Boot.","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:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html","og_locale":"en_US","og_type":"article","og_title":"Using Flyway in Spring Boot - Huong Dan Java","og_description":"In this tutorial, I will guide you all on how to use Flyway in Spring Boot.","og_url":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html","og_site_name":"Huong Dan Java","article_publisher":"https:\/\/www.facebook.com\/nhkhanh2406","article_author":"https:\/\/www.facebook.com\/nhkhanh2406","article_published_time":"2021-10-23T04:40:54+00:00","article_modified_time":"2024-10-14T23:32:06+00:00","og_image":[{"width":400,"height":400,"url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/08\/flyway.png","type":"image\/png"}],"author":"Khanh Nguyen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/KhanhNguyenJ","twitter_site":"@KhanhNguyenJ","twitter_misc":{"Written by":"Khanh Nguyen","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html#article","isPartOf":{"@id":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html"},"author":{"name":"Khanh Nguyen","@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"headline":"Using Flyway in Spring Boot","datePublished":"2021-10-23T04:40:54+00:00","dateModified":"2024-10-14T23:32:06+00:00","mainEntityOfPage":{"@id":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html"},"wordCount":226,"commentCount":0,"publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"image":{"@id":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/08\/flyway.png","articleSection":["Flyway","Spring Boot"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html","url":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html","name":"Using Flyway in Spring Boot - Huong Dan Java","isPartOf":{"@id":"https:\/\/huongdanjava.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html#primaryimage"},"image":{"@id":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/08\/flyway.png","datePublished":"2021-10-23T04:40:54+00:00","dateModified":"2024-10-14T23:32:06+00:00","description":"In this tutorial, I will guide you all on how to use Flyway in Spring Boot.","breadcrumb":{"@id":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html#primaryimage","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/08\/flyway.png","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/08\/flyway.png","width":400,"height":400},{"@type":"BreadcrumbList","@id":"https:\/\/huongdanjava.com\/using-flyway-in-spring-boot.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/huongdanjava.com\/"},{"@type":"ListItem","position":2,"name":"Using Flyway in Spring Boot"}]},{"@type":"WebSite","@id":"https:\/\/huongdanjava.com\/#website","url":"https:\/\/huongdanjava.com\/","name":"Huong Dan Java","description":"Java development tutorials","publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/huongdanjava.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d","name":"Khanh Nguyen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","width":1267,"height":1517,"caption":"Khanh Nguyen"},"logo":{"@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg"},"description":"I love Java and everything related to Java.","sameAs":["https:\/\/huongdanjava.com","https:\/\/www.facebook.com\/nhkhanh2406","https:\/\/x.com\/https:\/\/twitter.com\/KhanhNguyenJ"]}]}},"_links":{"self":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/18829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/comments?post=18829"}],"version-history":[{"count":5,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/18829\/revisions"}],"predecessor-version":[{"id":23441,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/18829\/revisions\/23441"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media\/17567"}],"wp:attachment":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media?parent=18829"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/categories?post=18829"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/tags?post=18829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}