{"id":33181,"date":"2024-11-01T09:14:21","date_gmt":"2024-11-01T09:14:21","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=33181"},"modified":"2024-11-01T11:28:35","modified_gmt":"2024-11-01T11:28:35","slug":"spring-boot-backend-development-course-exploring-spring-boot-project-directory-structure","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/33181\/","title":{"rendered":"Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure"},"content":{"rendered":"<p><body><\/p>\n<p>Spring Boot is a framework that helps you easily develop Java-based applications. Recently, many companies and developers have chosen Spring Boot, thanks to various advantages such as rapid prototyping, convenient configuration, and powerful features. In this tutorial, we will explain the project directory structure during the backend development process using Spring Boot, detailing the role and usage of each directory.<\/p>\n<h2>What is Spring Boot?<\/h2>\n<p>Spring Boot is an open-source framework based on the Spring framework that provides features that help developers build applications more quickly, easily, and efficiently. One of the main features of Spring Boot is <strong>convention-over-configuration<\/strong>. This allows developers to run their applications with minimal configuration. Additionally, it provides various starters that make it easy to add the required libraries and settings.<\/p>\n<h2>Spring Boot Project Structure<\/h2>\n<p>The structure of a Spring Boot project is similar to that of a traditional Java project but includes a few unique directories and files. The basic project structure created using Spring Boot is as follows:<\/p>\n<pre>\nproject-root\/\n\u2502\n\u251c\u2500\u2500 src\/\n\u2502   \u251c\u2500\u2500 main\/\n\u2502   \u2502   \u251c\u2500\u2500 java\/\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 com\/\n\u2502   \u2502   \u2502       \u2514\u2500\u2500 example\/\n\u2502   \u2502   \u2502           \u2514\u2500\u2500 demo\/\n\u2502   \u2502   \u251c\u2500\u2500 resources\/\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 application.properties\n\u2502   \u2502   \u2514\u2500\u2500 webapp\/\n\u2502   \u2514\u2500\u2500 test\/\n\u2502       \u2514\u2500\u2500 java\/\n\u2514\u2500\u2500 pom.xml\n<\/pre>\n<h3>1. src\/main\/java<\/h3>\n<p>This directory contains the Java code for the application. The package structure is usually designed based on domain and functionality, typically including packages for domain models, services, controllers, and repositories. For example:<\/p>\n<pre>\ncom\/\n\u2514\u2500\u2500 example\/\n    \u2514\u2500\u2500 demo\/\n        \u251c\u2500\u2500 controller\/\n        \u251c\u2500\u2500 service\/\n        \u251c\u2500\u2500 repository\/\n        \u2514\u2500\u2500 model\/\n<\/pre>\n<h3>2. src\/main\/resources<\/h3>\n<p>This directory contains configuration files and static resources for the application. The most important file is <code>application.properties<\/code> or <code>application.yml<\/code>, which contains various settings that control the behavior of the application. This includes database connection information, server port, logging settings, etc.<\/p>\n<pre>\napplication.properties\nspring.datasource.url=jdbc:mysql:\/\/localhost:3306\/mydb\nspring.datasource.username=root\nspring.datasource.password=secret\n<\/pre>\n<h3>3. src\/test\/java<\/h3>\n<p>This directory contains Java code for unit and integration tests. Spring Boot can easily integrate with various testing frameworks like JUnit and Mockito. By designing and executing tests in this space, you can improve the stability of the application.<\/p>\n<h3>4. pom.xml or build.gradle<\/h3>\n<p>A Spring Boot application can use either Maven or Gradle as a build tool. This file defines the project&#8217;s dependencies and build settings. If using Maven, here&#8217;s an example:<\/p>\n<pre>\n<project xmlns=\"http:\/\/maven.apache.org\/POM\/4.0.0\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:schemalocation=\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\">\n    <modelversion>4.0.0<\/modelversion>\n    <groupid>com.example<\/groupid>\n    <artifactid>demo<\/artifactid>\n    <version>0.0.1-SNAPSHOT<\/version>\n    <packaging>jar<\/packaging>\n    <name>demo<\/name>\n    <description>Demo project for Spring Boot<\/description>\n    <properties>\n        <java.version>17<\/java.version>\n    <\/properties>\n    <dependencies>\n        <dependency>\n            <groupid>org.springframework.boot<\/groupid>\n            <artifactid>spring-boot-starter<\/artifactid>\n        <\/dependency>\n        <dependency>\n            <groupid>org.springframework.boot<\/groupid>\n            <artifactid>spring-boot-starter-test<\/artifactid>\n            <scope>test<\/scope>\n        <\/dependency>\n    <\/dependencies>\n<\/project>\n<\/pre>\n<h2>Project Example: Creating a Simple REST API<\/h2>\n<p>Now, let&#8217;s create a simple REST API using Spring Boot. We will create the necessary directories and files and explain their roles.<\/p>\n<h3>1. Create Model Class<\/h3>\n<p>First, we will create a model class to be used in the application. For example, we will create a <code>Product<\/code> class. This class represents the information of a product.<\/p>\n<pre>\npackage com.example.demo.model;\n\npublic class Product {\n    private Long id;\n    private String name;\n    private double price;\n\n    \/\/ Getters and setters\n}\n<\/pre>\n<h3>2. Create Repository Interface<\/h3>\n<p>Next, we create a repository interface for interacting with the database. We can easily set up the repository using Spring Data JPA.<\/p>\n<pre>\npackage com.example.demo.repository;\n\nimport com.example.demo.model.Product;\nimport org.springframework.data.jpa.repository.JpaRepository;\n\npublic interface ProductRepository extends JpaRepository<Product, Long> {\n}\n<\/pre>\n<h3>3. Create Service Class<\/h3>\n<p>We add a service class to implement business logic. This class will handle CRUD (Create, Read, Update, Delete) operations for products.<\/p>\n<pre>\npackage com.example.demo.service;\n\nimport com.example.demo.model.Product;\nimport com.example.demo.repository.ProductRepository;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n@Service\npublic class ProductService {\n    @Autowired\n    private ProductRepository productRepository;\n\n    public List<Product> getAllProducts() {\n        return productRepository.findAll();\n    }\n\n    public Product getProductById(Long id) {\n        return productRepository.findById(id).orElse(null);\n    }\n\n    public void createProduct(Product product) {\n        productRepository.save(product);\n    }\n\n    public void updateProduct(Long id, Product product) {\n        Product existingProduct = productRepository.findById(id).orElse(null);\n        if (existingProduct != null) {\n            existingProduct.setName(product.getName());\n            existingProduct.setPrice(product.getPrice());\n            productRepository.save(existingProduct);\n        }\n    }\n\n    public void deleteProduct(Long id) {\n        productRepository.deleteById(id);\n    }\n}\n<\/pre>\n<h3>4. Create Controller Class<\/h3>\n<p>We create a controller class to handle HTTP requests. This class defines the endpoints of the REST API.<\/p>\n<pre>\npackage com.example.demo.controller;\n\nimport com.example.demo.model.Product;\nimport com.example.demo.service.ProductService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.http.HttpStatus;\nimport org.springframework.http.ResponseEntity;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n@RestController\n@RequestMapping(\"\/api\/products\")\npublic class ProductController {\n    @Autowired\n    private ProductService productService;\n\n    @GetMapping\n    public List<Product> getAllProducts() {\n        return productService.getAllProducts();\n    }\n\n    @GetMapping(\"\/{id}\")\n    public ResponseEntity<Product> getProductById(@PathVariable Long id) {\n        Product product = productService.getProductById(id);\n        if (product == null) {\n            return new ResponseEntity<>(HttpStatus.NOT_FOUND);\n        }\n        return new ResponseEntity<>(product, HttpStatus.OK);\n    }\n\n    @PostMapping\n    public ResponseEntity<Void> createProduct(@RequestBody Product product) {\n        productService.createProduct(product);\n        return new ResponseEntity<>(HttpStatus.CREATED);\n    }\n\n    @PutMapping(\"\/{id}\")\n    public ResponseEntity<Void> updateProduct(@PathVariable Long id, @RequestBody Product product) {\n        productService.updateProduct(id, product);\n        return new ResponseEntity<>(HttpStatus.NO_CONTENT);\n    }\n\n    @DeleteMapping(\"\/{id}\")\n    public ResponseEntity<Void> deleteProduct(@PathVariable Long id) {\n        productService.deleteProduct(id);\n        return new ResponseEntity<>(HttpStatus.NO_CONTENT);\n    }\n}\n<\/pre>\n<h2>Building and Running Spring Boot<\/h2>\n<p>Now that all components are ready, let&#8217;s build and run the application. Spring Boot makes it very easy to run applications using an embedded server. You can start the application with the following command:<\/p>\n<pre>\n.\/mvnw spring-boot:run\n<\/pre>\n<p>Once the application starts, you can send a GET request to the <code>http:\/\/localhost:8080\/api\/products<\/code> endpoint using a browser or an API testing tool (like Postman).<\/p>\n<h2>Conclusion<\/h2>\n<p>In this tutorial, we learned the basics of backend development using Spring Boot. We understood the project directory structure and implemented a simple REST API, experiencing the charm of Spring Boot. In the future, we can explore more complex features, security, database integration, frontend integration, and various topics.<\/p>\n<p>Spring Boot is a powerful tool, and building a solid foundation will greatly help in developing more complex applications. If you have more questions or curiosities about your development journey, please feel free to leave a comment!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spring Boot is a framework that helps you easily develop Java-based applications. Recently, many companies and developers have chosen Spring Boot, thanks to various advantages such as rapid prototyping, convenient configuration, and powerful features. In this tutorial, we will explain the project directory structure during the backend development process using Spring Boot, detailing the role &hellip; <a href=\"https:\/\/atmokpo.com\/w\/33181\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure&#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-33181","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, Exploring Spring Boot Project Directory Structure - \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\/33181\/\" \/>\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, Exploring Spring Boot Project Directory Structure - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Spring Boot is a framework that helps you easily develop Java-based applications. Recently, many companies and developers have chosen Spring Boot, thanks to various advantages such as rapid prototyping, convenient configuration, and powerful features. In this tutorial, we will explain the project directory structure during the backend development process using Spring Boot, detailing the role &hellip; \ub354 \ubcf4\uae30 &quot;Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/33181\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:14:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:28:35+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\/33181\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33181\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure\",\"datePublished\":\"2024-11-01T09:14:21+00:00\",\"dateModified\":\"2024-11-01T11:28:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33181\/\"},\"wordCount\":608,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Spring Boot backend development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/33181\/\",\"url\":\"https:\/\/atmokpo.com\/w\/33181\/\",\"name\":\"Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:14:21+00:00\",\"dateModified\":\"2024-11-01T11:28:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33181\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/33181\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/33181\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure\"}]},{\"@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, Exploring Spring Boot Project Directory Structure - \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\/33181\/","og_locale":"ko_KR","og_type":"article","og_title":"Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Spring Boot is a framework that helps you easily develop Java-based applications. Recently, many companies and developers have chosen Spring Boot, thanks to various advantages such as rapid prototyping, convenient configuration, and powerful features. In this tutorial, we will explain the project directory structure during the backend development process using Spring Boot, detailing the role &hellip; \ub354 \ubcf4\uae30 \"Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure\"","og_url":"https:\/\/atmokpo.com\/w\/33181\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:14:21+00:00","article_modified_time":"2024-11-01T11:28:35+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\/33181\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/33181\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure","datePublished":"2024-11-01T09:14:21+00:00","dateModified":"2024-11-01T11:28:35+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/33181\/"},"wordCount":608,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Spring Boot backend development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/33181\/","url":"https:\/\/atmokpo.com\/w\/33181\/","name":"Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:14:21+00:00","dateModified":"2024-11-01T11:28:35+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/33181\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/33181\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/33181\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Spring Boot Backend Development Course, Exploring Spring Boot Project Directory Structure"}]},{"@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\/33181","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=33181"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33181\/revisions"}],"predecessor-version":[{"id":33182,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33181\/revisions\/33182"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=33181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=33181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=33181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}