{"id":33159,"date":"2024-11-01T09:14:11","date_gmt":"2024-11-01T09:14:11","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=33159"},"modified":"2024-11-01T11:28:41","modified_gmt":"2024-11-01T11:28:41","slug":"spring-boot-backend-development-course-what-is-spring-data-jpa","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/33159\/","title":{"rendered":"Spring Boot Backend Development Course, What is Spring Data JPA"},"content":{"rendered":"<p><body><\/p>\n<article>\n<header>\n<p>Hello! In this article, we will explore in detail Spring Data JPA, which plays a key role in the backend development process using Spring Boot. JPA is an ORM (Object-Relational Mapping) technology that allows Java applications to efficiently handle interactions with databases.<\/p>\n<\/header>\n<section>\n<h2>1. What is Spring Data JPA?<\/h2>\n<p>Spring Data JPA is a module that integrates the Spring framework with JPA (Java Persistence API) to make it easier to perform CRUD (Create, Read, Update, Delete) operations with databases. Essentially, it minimizes the cumbersome settings and code required when using JPA, allowing developers to interact with databases with less effort.<\/p>\n<p>JPA supports the mapping between entity classes and database tables, enabling easy manipulation of the database without the need for SQL queries. Spring Data JPA provides an interface for JPA, allowing developers to effectively utilize it.<\/p>\n<\/section>\n<section>\n<h2>2. Basic Concepts of JPA<\/h2>\n<h3>2.1 What is ORM?<\/h3>\n<p>ORM (Object-Relational Mapping) is a technology that automatically handles the data conversion between objects used in object-oriented programming languages and relational databases. While relational databases store data in a table structure, object-oriented programming processes data using classes and objects. ORM bridges the gap between these two.<\/p>\n<h3>2.2 Definition of JPA<\/h3>\n<p>JPA (Java Persistence API) is the interface for ORM in the Java ecosystem. JPA defines the APIs necessary for database operations, helping developers interact with databases. JPA includes the following key concepts:<\/p>\n<ul>\n<li><strong>Entity:<\/strong> A Java class that maps to a database table.<\/li>\n<li><strong>Persistence Context:<\/strong> An environment that manages the lifecycle of entities.<\/li>\n<li><strong>Identifier:<\/strong> A unique value used to distinguish between entities.<\/li>\n<li><strong>Query:<\/strong> A way of expressing requests to the database.<\/li>\n<\/ul>\n<\/section>\n<section>\n<h2>3. Features of Spring Data JPA<\/h2>\n<p>Spring Data JPA extends the functionalities of JPA and provides the following key features:<\/p>\n<ul>\n<li><strong>Repository Pattern:<\/strong> Defines an interface for interaction with the database, making it easy to implement CRUD operations.<\/li>\n<li><strong>Query Methods:<\/strong> Allows generating queries using method names, enabling complex queries without having to write SQL code directly.<\/li>\n<li><strong>Pagination and Sorting:<\/strong> Provides functionalities to divide or sort data by page.<\/li>\n<li><strong>Transaction Management:<\/strong> Integrates with Spring&#8217;s transaction management features to maintain data consistency.<\/li>\n<\/ul>\n<\/section>\n<section>\n<h2>4. Setting Up Spring Data JPA<\/h2>\n<p>To use Spring Data JPA, you need to set up a Spring Boot project.<\/p>\n<h3>4.1 Adding Maven Dependencies<\/h3>\n<p>Add the following dependencies to your pom.xml file to include Spring Data JPA in your project:<\/p>\n<pre>\n<code>&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\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;<\/code>\n            <\/pre>\n<h3>4.2 Setting application.properties<\/h3>\n<p>Add the following settings to your application.properties file for database connection:<\/p>\n<pre>\n<code>spring.datasource.url=jdbc:h2:mem:testdb\nspring.datasource.driver-class-name=org.h2.Driver\nspring.datasource.username=sa\nspring.datasource.password=password\nspring.h2.console.enabled=true\nspring.jpa.hibernate.ddl-auto=update<\/code>\n            <\/pre>\n<\/section>\n<section>\n<h2>5. Creating Entity Classes and Repositories<\/h2>\n<p>To use Spring Data JPA, you need to define entity classes and create repositories to handle them.<\/p>\n<h3>5.1 Defining Entity Classes<\/h3>\n<p>Here is an example of defining a simple &#8216;User&#8217; entity:<\/p>\n<pre>\n<code>import javax.persistence.*;\n\n@Entity\n@Table(name=\"users\")\npublic class User {\n    @Id\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\n    private Long id;\n\n    private String name;\n    private String email;\n\n    \/\/ Getters and Setters\n}<\/code>\n            <\/pre>\n<h3>5.2 Defining Repository Interface<\/h3>\n<p>The repository interface extends JpaRepository to perform CRUD operations:<\/p>\n<pre>\n<code>import org.springframework.data.jpa.repository.JpaRepository;\n\npublic interface UserRepository extends JpaRepository&lt;User, Long&gt; {\n    User findByEmail(String email);\n}<\/code>\n            <\/pre>\n<\/section>\n<section>\n<h2>6. Creating Service Classes and Controllers<\/h2>\n<p>Add service classes that handle business logic using repositories, and controller classes that implement REST APIs calling these services.<\/p>\n<h3>6.1 Defining Service Classes<\/h3>\n<pre>\n<code>import org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\nimport java.util.List;\n\n@Service\npublic class UserService {\n    @Autowired\n    private UserRepository userRepository;\n\n    public List&lt;User&gt; findAll() {\n        return userRepository.findAll();\n    }\n\n    public User findById(Long id) {\n        return userRepository.findById(id).orElse(null);\n    }\n\n    public User save(User user) {\n        return userRepository.save(user);\n    }\n}<\/code>\n            <\/pre>\n<h3>6.2 Defining Controller Classes<\/h3>\n<pre>\n<code>import org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n@RestController\n@RequestMapping(\"\/api\/users\")\npublic class UserController {\n    @Autowired\n    private UserService userService;\n\n    @GetMapping\n    public List&lt;User&gt; getAllUsers() {\n        return userService.findAll();\n    }\n\n    @PostMapping\n    public User createUser(@RequestBody User user) {\n        return userService.save(user);\n    }\n}<\/code>\n            <\/pre>\n<\/section>\n<section>\n<h2>7. Examples of Using Spring Data JPA<\/h2>\n<p>Let&#8217;s look at examples of how data is processed in a real application using Spring Data JPA.<\/p>\n<h3>7.1 User Creation Request<\/h3>\n<p>Send a REST API request to create a user:<\/p>\n<pre>\n<code>POST \/api\/users\nContent-Type: application\/json\n\n{\n    \"name\": \"John Doe\",\n    \"email\": \"john@example.com\"\n}<\/code>\n            <\/pre>\n<h3>7.2 User Lookup Request<\/h3>\n<p>Send a request to retrieve the information of a specific user:<\/p>\n<pre>\n<code>GET \/api\/users\/1<\/code>\n            <\/pre>\n<p>You can receive the information of the user with ID 1 in JSON format through the above request.<\/p>\n<\/section>\n<section>\n<h2>8. Performance Optimization<\/h2>\n<p>Here are some methods to address performance issues when using Spring Data JPA.<\/p>\n<h3>8.1 Solving the N+1 Problem<\/h3>\n<p>The N+1 problem can occur when querying related entities. This can be resolved by appropriately using FetchType.LAZY and FetchType.EAGER.<\/p>\n<h3>8.2 Batch Processing<\/h3>\n<p>When dealing with a large amount of data, performance can be improved through batch processing. This is a method to process large volumes of data at once to reduce the load on the database.<\/p>\n<\/section>\n<section>\n<h2>9. Conclusion<\/h2>\n<p>In this lecture, we explored the concepts and usage of Spring Data JPA, which is central to backend development based on Spring Boot, as well as how to set up the environment. Spring Data JPA simplifies communication with the database and greatly enhances developer productivity.<\/p>\n<p>Utilize the various functionalities of Spring Data JPA to build a more efficient backend system. If you have any additional questions or feedback, please leave a comment. Thank you!<\/p>\n<\/section>\n<\/article>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello! In this article, we will explore in detail Spring Data JPA, which plays a key role in the backend development process using Spring Boot. JPA is an ORM (Object-Relational Mapping) technology that allows Java applications to efficiently handle interactions with databases. 1. What is Spring Data JPA? Spring Data JPA is a module that &hellip; <a href=\"https:\/\/atmokpo.com\/w\/33159\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Spring Boot Backend Development Course, What is Spring Data JPA&#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-33159","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, What is Spring Data JPA - \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\/33159\/\" \/>\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, What is Spring Data JPA - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello! In this article, we will explore in detail Spring Data JPA, which plays a key role in the backend development process using Spring Boot. JPA is an ORM (Object-Relational Mapping) technology that allows Java applications to efficiently handle interactions with databases. 1. What is Spring Data JPA? Spring Data JPA is a module that &hellip; \ub354 \ubcf4\uae30 &quot;Spring Boot Backend Development Course, What is Spring Data JPA&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/33159\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:14:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:28:41+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\/33159\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33159\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Spring Boot Backend Development Course, What is Spring Data JPA\",\"datePublished\":\"2024-11-01T09:14:11+00:00\",\"dateModified\":\"2024-11-01T11:28:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33159\/\"},\"wordCount\":698,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Spring Boot backend development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/33159\/\",\"url\":\"https:\/\/atmokpo.com\/w\/33159\/\",\"name\":\"Spring Boot Backend Development Course, What is Spring Data JPA - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:14:11+00:00\",\"dateModified\":\"2024-11-01T11:28:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33159\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/33159\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/33159\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spring Boot Backend Development Course, What is Spring Data JPA\"}]},{\"@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, What is Spring Data JPA - \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\/33159\/","og_locale":"ko_KR","og_type":"article","og_title":"Spring Boot Backend Development Course, What is Spring Data JPA - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello! In this article, we will explore in detail Spring Data JPA, which plays a key role in the backend development process using Spring Boot. JPA is an ORM (Object-Relational Mapping) technology that allows Java applications to efficiently handle interactions with databases. 1. What is Spring Data JPA? Spring Data JPA is a module that &hellip; \ub354 \ubcf4\uae30 \"Spring Boot Backend Development Course, What is Spring Data JPA\"","og_url":"https:\/\/atmokpo.com\/w\/33159\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:14:11+00:00","article_modified_time":"2024-11-01T11:28:41+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\/33159\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/33159\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Spring Boot Backend Development Course, What is Spring Data JPA","datePublished":"2024-11-01T09:14:11+00:00","dateModified":"2024-11-01T11:28:41+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/33159\/"},"wordCount":698,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Spring Boot backend development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/33159\/","url":"https:\/\/atmokpo.com\/w\/33159\/","name":"Spring Boot Backend Development Course, What is Spring Data JPA - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:14:11+00:00","dateModified":"2024-11-01T11:28:41+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/33159\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/33159\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/33159\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Spring Boot Backend Development Course, What is Spring Data JPA"}]},{"@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\/33159","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=33159"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33159\/revisions"}],"predecessor-version":[{"id":33160,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33159\/revisions\/33160"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=33159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=33159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=33159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}