{"id":33109,"date":"2024-11-01T09:13:49","date_gmt":"2024-11-01T09:13:49","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=33109"},"modified":"2024-11-01T11:28:56","modified_gmt":"2024-11-01T11:28:56","slug":"spring-boot-backend-development-course-blog-creation-example-configuring-entities","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/33109\/","title":{"rendered":"Spring Boot Backend Development Course, Blog Creation Example, Configuring Entities"},"content":{"rendered":"<p><body><\/p>\n<p>Hello! In this post, we will conduct a backend development tutorial for creating a blog using Spring Boot. This tutorial will explain in detail how to understand the basic structure of a blog application and how to configure entities. A blog typically includes components like posts, users, and comments, and we will cover how to effectively map these to a database.<\/p>\n<h2>1. Overview of the Blog Application<\/h2>\n<p>A blog application is a platform where users can write posts, and other users can read and comment on them. To develop such an application, the following basic requirements are needed.<\/p>\n<ul>\n<li>User registration and authentication features<\/li>\n<li>Post creation, editing, and deletion features<\/li>\n<li>Comment creation, editing, and deletion features<\/li>\n<li>Features to view posts and comments<\/li>\n<\/ul>\n<h2>2. Introduction to Spring Boot<\/h2>\n<p>Spring Boot is a lightweight framework based on the Spring framework that helps to develop applications quickly and easily. Spring Boot has the advantage of being easy to configure and can easily run web applications via an embedded Tomcat server. Additionally, it provides various starters that allow for the simple addition of necessary libraries.<\/p>\n<h2>3. Project Setup<\/h2>\n<p>In this tutorial, we will set up the project using Spring Initializr. Please follow these steps:<\/p>\n<ol>\n<li>Visit <a href=\"https:\/\/start.spring.io\/\">Spring Initializr<\/a>.<\/li>\n<li>Enter the project metadata.<\/li>\n<ul>\n<li>Project: Maven Project<\/li>\n<li>Language: Java<\/li>\n<li>Spring Boot: Choose the latest version<\/li>\n<li>Group: com.example<\/li>\n<li>Artifact: blog<\/li>\n<\/ul>\n<li>Select the following under Dependencies:<\/li>\n<ul>\n<li>Spring Web<\/li>\n<li>Spring Data JPA<\/li>\n<li>H2 Database (for development and testing)<\/li>\n<\/ul>\n<li>Click the Generate button to download the project.<\/li>\n<li>Open the project in your IDE and add the necessary configurations.<\/li>\n<\/ol>\n<h2>4. Entity Design<\/h2>\n<p>The main elements of the blog application are users, posts, and comments. We will define their database tables as entities.<\/p>\n<h3>4.1. User Entity<\/h3>\n<p>The user entity contains information about all users who register on the blog. It can be defined as follows:<\/p>\n<pre><code>import javax.persistence.Entity;\nimport javax.persistence.GeneratedValue;\nimport javax.persistence.GenerationType;\nimport javax.persistence.Id;\n\n@Entity\npublic class User {\n    @Id\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\n    private Long id;\n    private String username;\n    private String password;\n    private String email;\n\n    \/\/ getters, setters, and constructor omitted\n}\n<\/code><\/pre>\n<h3>4.2. Post Entity<\/h3>\n<p>The post entity includes information about each post in the blog:<\/p>\n<pre><code>import javax.persistence.*;\n\n@Entity\npublic class Post {\n    @Id\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\n    private Long id;\n    private String title;\n    private String content;\n\n    @ManyToOne\n    @JoinColumn(name = \"user_id\")\n    private User author;\n\n    \/\/ getters, setters, and constructor omitted\n}\n<\/code><\/pre>\n<h3>4.3. Comment Entity<\/h3>\n<p>The comment entity stores information about each comment made on posts:<\/p>\n<pre><code>import javax.persistence.*;\n\n@Entity\npublic class Comment {\n    @Id\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\n    private Long id;\n    private String content;\n\n    @ManyToOne\n    @JoinColumn(name = \"post_id\")\n    private Post post;\n\n    @ManyToOne\n    @JoinColumn(name = \"user_id\")\n    private User author;\n\n    \/\/ getters, setters, and constructor omitted\n}\n<\/code><\/pre>\n<h2>5. Repository Implementation<\/h2>\n<p>Once the entities are ready, we will create JPA repositories to implement interactions with the database. Let&#8217;s create interfaces using Spring Data JPA.<\/p>\n<h3>5.1. User Repository<\/h3>\n<pre><code>import org.springframework.data.jpa.repository.JpaRepository;\n\npublic interface UserRepository extends JpaRepository&lt;User, Long&gt; {\n    User findByUsername(String username);\n}\n<\/code><\/pre>\n<h3>5.2. Post Repository<\/h3>\n<pre><code>import org.springframework.data.jpa.repository.JpaRepository;\n\npublic interface PostRepository extends JpaRepository&lt;Post, Long&gt; {\n    List&lt;Post&gt; findByAuthor(User author);\n}\n<\/code><\/pre>\n<h3>5.3. Comment Repository<\/h3>\n<pre><code>import org.springframework.data.jpa.repository.JpaRepository;\n\npublic interface CommentRepository extends JpaRepository&lt;Comment, Long&gt; {\n    List&lt;Comment&gt; findByPost(Post post);\n}\n<\/code><\/pre>\n<h2>6. Service Layer Configuration<\/h2>\n<p>The service layer is the tier responsible for processing business logic. It provides necessary features by injecting each repository. For example, a service for creating posts can be implemented as follows:<\/p>\n<pre><code>import org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\n@Service\npublic class PostService {\n    \n    @Autowired\n    private PostRepository postRepository;\n    \n    @Autowired\n    private UserRepository userRepository;\n\n    public Post createPost(Post post, Long userId) {\n        User author = userRepository.findById(userId).orElseThrow(() -&gt; new RuntimeException(\"User not found\"));\n        post.setAuthor(author);\n        return postRepository.save(post);\n    }\n\n    \/\/ Remaining methods implementation omitted\n}\n<\/code><\/pre>\n<h2>7. Controller Implementation<\/h2>\n<p>Finally, we will implement a RESTful controller to provide the API. For instance, the API managing posts can be structured as follows:<\/p>\n<pre><code>import org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.http.ResponseEntity;\nimport org.springframework.web.bind.annotation.*;\n\n@RestController\n@RequestMapping(\"\/api\/posts\")\npublic class PostController {\n    \n    @Autowired\n    private PostService postService;\n\n    @PostMapping\n    public ResponseEntity&lt;Post&gt; createPost(@RequestBody Post post, @RequestParam Long userId) {\n        Post savedPost = postService.createPost(post, userId);\n        return ResponseEntity.ok(savedPost);\n    }\n\n    \/\/ Remaining methods implementation omitted\n}\n<\/code><\/pre>\n<h2>8. Testing and Running<\/h2>\n<p>To practically test the application, we will use the H2 database to store data and utilize API testing tools like Postman or Insomnia to verify functionalities. This step includes calling the APIs created and checking the responses.<\/p>\n<h3>8.1. H2 Database Setup<\/h3>\n<p>Add the following content to the application.properties file to configure the H2 database:<\/p>\n<pre><code>spring.h2.console.enabled=true\nspring.datasource.url=jdbc:h2:mem:testdb\nspring.datasource.driverClassName=org.h2.Driver\nspring.datasource.username=sa\nspring.datasource.password=password\n<\/code><\/pre>\n<h2>9. Conclusion<\/h2>\n<p>In this blog tutorial, we covered the process of building a simple blog application using Spring Boot. I hope this helped you understand the overall structure including entity configuration, repository and service layer, and RESTful API implementation. It would also be beneficial to add more features and expand on this example for further learning.<\/p>\n<h2>10. Next Steps<\/h2>\n<p>Now you have laid the foundation to create a basic CRUD application using Spring Boot. Moving forward, try tackling the following tasks:<\/p>\n<ul>\n<li>Add user authentication and authorization<\/li>\n<li>Implement tagging functionality for posts<\/li>\n<li>Add notification feature for comment creation<\/li>\n<li>Integrate with frontend implementation<\/li>\n<\/ul>\n<p>Finally, I hope to continue building deeper knowledge through case studies via the blog, and if you have any additional questions or discussions, please feel free to leave a comment. Thank you!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello! In this post, we will conduct a backend development tutorial for creating a blog using Spring Boot. This tutorial will explain in detail how to understand the basic structure of a blog application and how to configure entities. A blog typically includes components like posts, users, and comments, and we will cover how to &hellip; <a href=\"https:\/\/atmokpo.com\/w\/33109\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Spring Boot Backend Development Course, Blog Creation Example, Configuring Entities&#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-33109","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, Configuring Entities - \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\/33109\/\" \/>\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, Configuring Entities - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello! In this post, we will conduct a backend development tutorial for creating a blog using Spring Boot. This tutorial will explain in detail how to understand the basic structure of a blog application and how to configure entities. A blog typically includes components like posts, users, and comments, and we will cover how to &hellip; \ub354 \ubcf4\uae30 &quot;Spring Boot Backend Development Course, Blog Creation Example, Configuring Entities&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/33109\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:13:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:28:56+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=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/33109\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33109\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Spring Boot Backend Development Course, Blog Creation Example, Configuring Entities\",\"datePublished\":\"2024-11-01T09:13:49+00:00\",\"dateModified\":\"2024-11-01T11:28:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33109\/\"},\"wordCount\":611,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Spring Boot backend development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/33109\/\",\"url\":\"https:\/\/atmokpo.com\/w\/33109\/\",\"name\":\"Spring Boot Backend Development Course, Blog Creation Example, Configuring Entities - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:13:49+00:00\",\"dateModified\":\"2024-11-01T11:28:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33109\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/33109\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/33109\/#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, Configuring Entities\"}]},{\"@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, Configuring Entities - \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\/33109\/","og_locale":"ko_KR","og_type":"article","og_title":"Spring Boot Backend Development Course, Blog Creation Example, Configuring Entities - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello! In this post, we will conduct a backend development tutorial for creating a blog using Spring Boot. This tutorial will explain in detail how to understand the basic structure of a blog application and how to configure entities. A blog typically includes components like posts, users, and comments, and we will cover how to &hellip; \ub354 \ubcf4\uae30 \"Spring Boot Backend Development Course, Blog Creation Example, Configuring Entities\"","og_url":"https:\/\/atmokpo.com\/w\/33109\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:13:49+00:00","article_modified_time":"2024-11-01T11:28:56+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":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/33109\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/33109\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Spring Boot Backend Development Course, Blog Creation Example, Configuring Entities","datePublished":"2024-11-01T09:13:49+00:00","dateModified":"2024-11-01T11:28:56+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/33109\/"},"wordCount":611,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Spring Boot backend development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/33109\/","url":"https:\/\/atmokpo.com\/w\/33109\/","name":"Spring Boot Backend Development Course, Blog Creation Example, Configuring Entities - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:13:49+00:00","dateModified":"2024-11-01T11:28:56+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/33109\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/33109\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/33109\/#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, Configuring Entities"}]},{"@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\/33109","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=33109"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33109\/revisions"}],"predecessor-version":[{"id":33110,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33109\/revisions\/33110"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=33109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=33109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=33109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}