{"id":33103,"date":"2024-11-01T09:13:47","date_gmt":"2024-11-01T09:13:47","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=33103"},"modified":"2024-11-01T11:28:58","modified_gmt":"2024-11-01T11:28:58","slug":"spring-boot-backend-development-course-blog-creation-example-blog-post-retrieval-api-implementation","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/33103\/","title":{"rendered":"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation"},"content":{"rendered":"<p><body><\/p>\n<article>\n<p>Spring Boot is a framework designed to quickly build web applications in a Java environment. In this tutorial, we will learn how to implement the backend API of a blog application using Spring Boot. We will particularly focus on the blog post retrieval API, and provide detailed explanations on database design, endpoint implementation, testing, and deployment.<\/p>\n<h2>1. Project Setup<\/h2>\n<p>To start a Spring Boot project, set up the project using Maven or Gradle. You can initiate a Spring Boot project through IntelliJ IDEA or Spring Initializr. The required dependencies are as follows:<\/p>\n<ul>\n<li>Spring Web<\/li>\n<li>Spring Data JPA<\/li>\n<li>H2 Database (for development and testing environments)<\/li>\n<li>Spring Boot DevTools (tools for convenient development)<\/li>\n<\/ul>\n<h3>1.1 Creating a Project with Maven<\/h3>\n<pre>\n            <code>&lt;project xmlns=\"http:\/\/maven.apache.org\/POM\/4.0.0\"\n            xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n            xsi:schemaLocation=\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"&gt;\n            &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n            &lt;groupId&gt;com.example&lt;\/groupId&gt;\n            &lt;artifactId&gt;blog&lt;\/artifactId&gt;\n            &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\n            &lt;packaging&gt;jar&lt;\/packaging&gt;\n            &lt;name&gt;blog&lt;\/name&gt;\n            &lt;parent&gt;\n                &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n                &lt;artifactId&gt;spring-boot-starter-parent&lt;\/artifactId&gt;\n                &lt;version&gt;2.5.4&lt;\/version&gt;\n                &lt;relativePath\/&gt;\n            &lt;\/parent&gt;  \n            &lt;dependencies&gt;\n                &lt;dependency&gt;\n                    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n                    &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;\n                &lt;\/dependency&gt;\n                &lt;dependency&gt;\n                    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n                    &lt;artifactId&gt;spring-boot-starter-data-jpa&lt;\/artifactId&gt;\n                &lt;\/dependency&gt;\n                &lt;dependency&gt;\n                    &lt;groupId&gt;com.h2database&lt;\/groupId&gt;\n                    &lt;artifactId&gt;h2&lt;\/artifactId&gt;\n                    &lt;scope&gt;runtime&lt;\/scope&gt;\n                &lt;\/dependency&gt;\n                &lt;dependency&gt;\n                    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n                    &lt;artifactId&gt;spring-boot-devtools&lt;\/artifactId&gt;\n                    &lt;scope&gt;runtime&lt;\/scope&gt;\n                    &lt;optional&gt;true&lt;\/optional&gt;\n                &lt;\/dependency&gt;\n            &lt;\/dependencies&gt;\n            &lt;build&gt;\n                &lt;plugins&gt;\n                    &lt;plugin&gt;\n                        &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n                        &lt;artifactId&gt;spring-boot-maven-plugin&lt;\/artifactId&gt;\n                    &lt;\/plugin&gt;\n                &lt;\/plugins&gt;\n            &lt;\/build&gt;\n            &lt;\/project&gt;\n            <\/code>\n        <\/pre>\n<h2>2. Database Design<\/h2>\n<p>To create the blog post retrieval API, we first design the blog post model to be stored in the database. The basic blog post model includes the title, content, author, creation date, etc.<\/p>\n<pre>\n            <code>import javax.persistence.*;\n            import java.time.LocalDateTime;\n\n            @Entity\n            public class BlogPost {\n                @Id\n                @GeneratedValue(strategy = GenerationType.IDENTITY)\n                private Long id;\n\n                private String title;\n                private String content;\n                private String author;\n                private LocalDateTime createdAt;\n                \n                \/\/ Getters and Setters\n            }\n            <\/code>\n        <\/pre>\n<h2>3. Creating the JPA Repository Interface<\/h2>\n<p>To perform CRUD (Create, Read, Update, Delete) operations on blog posts in the database, we create a JPA Repository interface.<\/p>\n<pre>\n            <code>import org.springframework.data.jpa.repository.JpaRepository;\n\n            public interface BlogPostRepository extends JpaRepository<BlogPost, Long> {\n            }\n            <\/code>\n        <\/pre>\n<h2>4. Implementing the Service Class<\/h2>\n<p>Create a service class to handle the requests from the client.<\/p>\n<pre>\n            <code>import org.springframework.beans.factory.annotation.Autowired;\n            import org.springframework.stereotype.Service;\n\n            import java.util.List;\n\n            @Service\n            public class BlogPostService {\n\n                @Autowired\n                private BlogPostRepository blogPostRepository;\n\n                public List&lt;BlogPost&gt; getAllBlogPosts() {\n                    return blogPostRepository.findAll();\n                }\n\n                public BlogPost getBlogPostById(Long id) {\n                    return blogPostRepository.findById(id)\n                      .orElseThrow(() -&gt; new RuntimeException(\"Post not found.\"));\n                }\n            }\n            <\/code>\n        <\/pre>\n<h2>5. Implementing the REST Controller<\/h2>\n<p>Utilize the service class created earlier to implement the REST API endpoints. Use Spring MVC&#8217;s @RestController to create methods that handle GET requests.<\/p>\n<pre>\n            <code>import org.springframework.beans.factory.annotation.Autowired;\n            import org.springframework.web.bind.annotation.*;\n\n            import java.util.List;\n\n            @RestController\n            @RequestMapping(\"\/api\/blogposts\")\n            public class BlogPostController {\n\n                @Autowired\n                private BlogPostService blogPostService;\n\n                @GetMapping\n                public List&lt;BlogPost&gt; getBlogPosts() {\n                    return blogPostService.getAllBlogPosts();\n                }\n\n                @GetMapping(\"\/{id}\")\n                public BlogPost getBlogPost(@PathVariable Long id) {\n                    return blogPostService.getBlogPostById(id);\n                }\n            }\n            <\/code>\n        <\/pre>\n<h2>6. Testing<\/h2>\n<p>Write unit tests to verify that the API works correctly. You can use JUnit and MockMvc to carry out the tests.<\/p>\n<pre>\n            <code>import org.junit.jupiter.api.Test;\n            import org.springframework.beans.factory.annotation.Autowired;\n            import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;\n            import org.springframework.boot.test.context.SpringBootTest;\n            import org.springframework.test.web.servlet.MockMvc;\n\n            import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;\n            import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;\n            import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;\n\n            @SpringBootTest\n            @AutoConfigureMockMvc\n            public class BlogPostControllerTests {\n\n                @Autowired\n                private MockMvc mockMvc;\n\n                @Test\n                public void getAllBlogPosts() throws Exception {\n                    mockMvc.perform(get(\"\/api\/blogposts\"))\n                            .andExpect(status().isOk());\n                }\n\n                @Test\n                public void getBlogPost() throws Exception {\n                    mockMvc.perform(get(\"\/api\/blogposts\/1\"))\n                            .andExpect(status().isOk())\n                            .andExpect(jsonPath(\"$.id\").value(1));\n                }\n            }\n            <\/code>\n        <\/pre>\n<h2>7. Deployment<\/h2>\n<p>When you are ready to deploy the application, you can create a JAR file and deploy it to your desired platform, such as AWS or Heroku. The command is as follows:<\/p>\n<pre>\n            <code>mvn clean package<\/code>\n        <\/pre>\n<p>After building with Maven, you need to upload the created JAR file to the server.<\/p>\n<h2>8. Conclusion<\/h2>\n<p>In this tutorial, we explored how to implement a blog post retrieval API using Spring Boot. We reviewed the entire process from database model design to API development, testing, and deployment. Based on this, we hope you can further enhance your blog application.<\/p>\n<\/article>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spring Boot is a framework designed to quickly build web applications in a Java environment. In this tutorial, we will learn how to implement the backend API of a blog application using Spring Boot. We will particularly focus on the blog post retrieval API, and provide detailed explanations on database design, endpoint implementation, testing, and &hellip; <a href=\"https:\/\/atmokpo.com\/w\/33103\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[131],"tags":[],"class_list":["post-33103","post","type-post","status-publish","format-standard","hentry","category-spring-boot-backend-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/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:\/\/atmokpo.com\/w\/33103\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Spring Boot is a framework designed to quickly build web applications in a Java environment. In this tutorial, we will learn how to implement the backend API of a blog application using Spring Boot. We will particularly focus on the blog post retrieval API, and provide detailed explanations on database design, endpoint implementation, testing, and &hellip; \ub354 \ubcf4\uae30 &quot;Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/33103\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:13:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:28:58+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/33103\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33103\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation\",\"datePublished\":\"2024-11-01T09:13:47+00:00\",\"dateModified\":\"2024-11-01T11:28:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33103\/\"},\"wordCount\":344,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Spring Boot backend development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/33103\/\",\"url\":\"https:\/\/atmokpo.com\/w\/33103\/\",\"name\":\"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:13:47+00:00\",\"dateModified\":\"2024-11-01T11:28:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33103\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/33103\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/33103\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","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:\/\/atmokpo.com\/w\/33103\/","og_locale":"ko_KR","og_type":"article","og_title":"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Spring Boot is a framework designed to quickly build web applications in a Java environment. In this tutorial, we will learn how to implement the backend API of a blog application using Spring Boot. We will particularly focus on the blog post retrieval API, and provide detailed explanations on database design, endpoint implementation, testing, and &hellip; \ub354 \ubcf4\uae30 \"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation\"","og_url":"https:\/\/atmokpo.com\/w\/33103\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:13:47+00:00","article_modified_time":"2024-11-01T11:28:58+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/33103\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/33103\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation","datePublished":"2024-11-01T09:13:47+00:00","dateModified":"2024-11-01T11:28:58+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/33103\/"},"wordCount":344,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Spring Boot backend development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/33103\/","url":"https:\/\/atmokpo.com\/w\/33103\/","name":"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:13:47+00:00","dateModified":"2024-11-01T11:28:58+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/33103\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/33103\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/33103\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Spring Boot Backend Development Course, Blog Creation Example, Blog Post Retrieval API Implementation"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=33103"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33103\/revisions"}],"predecessor-version":[{"id":33104,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33103\/revisions\/33104"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=33103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=33103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=33103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}