{"id":1928,"date":"2019-06-11T12:00:00","date_gmt":"2019-06-11T10:00:00","guid":{"rendered":"https:\/\/kindsonthegenius.com\/blog\/spring-mvc-step-by-step-tutorials-with-source-codes\/"},"modified":"2026-07-05T03:23:44","modified_gmt":"2026-07-05T01:23:44","slug":"spring-mvc-step-by-step-tutorials-with-source-codes","status":"publish","type":"post","link":"https:\/\/kindsonthegenius.com\/blog\/spring-mvc-step-by-step-tutorials-with-source-codes\/","title":{"rendered":"Spring MVC Step by Step Tutorials with Source Codes"},"content":{"rendered":"<p>This procedure teaches you how to perform CRUD operation (Insert, Update, Select and Delete) in Spring MVC. Source codes is included at the end of this page.<\/p>\n<ol>\n<li>Create a new web project in Spring Initializr<\/li>\n<li>Add the web<\/li>\n<li>Open the Project in Spring Tool Suite<\/li>\n<li>Create file called StudentResource in the resources package<\/li>\n<li>Annotate the Class with @RestController and @RequestMapping of \/cruddemo<\/li>\n<li>Write a method to return a string. Annotate this method with GetMapping of \/students<\/li>\n<li>Test this method<\/li>\n<li>Create the Student class in the models package<\/li>\n<li>Create hardcoded list of students in the StudentResource Class<\/li>\n<li>Modify the getStudents Method to return list of Students (List&lt;Student&gt;)<\/li>\n<li>Create a business service (a class called StudentService in the resources folder and annotate it with the @Service annotation). This is a singleton object.<\/li>\n<li>Autowire the business service into the StudentResource class (create a private member variable of StudentService type in the StudentResource class)<\/li>\n<li>Move the hardcoded list of Students into the StudentService<\/li>\n<li>Create a getAllTopic() method in the StudentService and make it return the hardcoded list of Students.<\/li>\n<li>In the StudentResource, make the getStudents method call the getAllStudents method of the StudentService class<\/li>\n<li>Write a method getStudentById to return a particular student in the StudentService class using the stream api<\/li>\n<li>Write a getStudentById method in the StudentResource to call the getStudentById of the StudentService class to return a single student. Annotate this method with \/students\/{Id}. This method takes a parameter Id<\/li>\n<li>Annotate the Id parameter with @PathVariable of @Id<\/li>\n<li>Write a method addStudent to post a student to the repository. Anotate this request with @PostMapping of \/topics<\/li>\n<li>The addStudent method take a Student parameter. Annotate the the Student parameter with the @RequestBody parameter<\/li>\n<li>The addStudent method calls the addStudent method of the StudentService (next will write this method in the StudentService class0<\/li>\n<li>Write the addStudent method in the StudentService class<\/li>\n<li>Install PostMan Rest Client or Advanced REST Client in Google Chrome<\/li>\n<li>Test the application (you will have error)<\/li>\n<li>Modify students in StudentService to new ArrayList which is mutable<\/li>\n<li>Retest the application. Try to add a new Student<\/li>\n<li>Write the updateStudent method in the StudentResource file. This is similar to the addStudent method. Add @PutMapping annotation to \/topics\/{Id}. This method takes two parameters: the Id gotten as a PathVariable and a Student object gotten from the RequestBody<\/li>\n<li>Create the updateStudent method in the StudentService file (uses a for loop. Create a Student object inside the for loop with the current id. Then check if the id of this new student equals the passed in id. Then use set(Name) and set(Department) to update the student record<\/li>\n<li>Write the delete method in the StudentResource file. It takes id gotten from the pathVariable as parameter and calls deleteStudent from the StudentService file<\/li>\n<li>Write the deleteStudent method in the StudentService file and use removeIf() to delete the student from the list<\/li>\n<li>Test everything.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h5><strong>The Student Class<\/strong><\/h5>\n<pre style=\"margin: 0; line-height: 125%;\"><span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #008800; font-weight: bold;\">class<\/span> <span style=\"color: #bb0066; font-weight: bold;\">Student<\/span> <span style=\"color: #333333;\">{<\/span>\n\n\t<span style=\"color: #008800; font-weight: bold;\">private<\/span> String Id<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #008800; font-weight: bold;\">private<\/span> String name<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #008800; font-weight: bold;\">private<\/span> String department<span style=\"color: #333333;\">;<\/span>\n\t\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #0066bb; font-weight: bold;\">Student<\/span><span style=\"color: #333333;\">()<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t\n\t<span style=\"color: #333333;\">}<\/span>\n\t\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #0066bb; font-weight: bold;\">Student<\/span><span style=\"color: #333333;\">(<\/span>String Id<span style=\"color: #333333;\">,<\/span> String name<span style=\"color: #333333;\">,<\/span> String department<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">this<\/span><span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">Id<\/span> <span style=\"color: #333333;\">=<\/span> Id<span style=\"color: #333333;\">;<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">this<\/span><span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">name<\/span> <span style=\"color: #333333;\">=<\/span> name<span style=\"color: #333333;\">;<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">this<\/span><span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">department<\/span> <span style=\"color: #333333;\">=<\/span> department<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> String <span style=\"color: #0066bb; font-weight: bold;\">getId<\/span><span style=\"color: #333333;\">()<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">return<\/span> Id<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #333399; font-weight: bold;\">void<\/span> <span style=\"color: #0066bb; font-weight: bold;\">setId<\/span><span style=\"color: #333333;\">(<\/span>String Id<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">this<\/span><span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">Id<\/span> <span style=\"color: #333333;\">=<\/span> Id<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> String <span style=\"color: #0066bb; font-weight: bold;\">getName<\/span><span style=\"color: #333333;\">()<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">return<\/span> name<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #333399; font-weight: bold;\">void<\/span> <span style=\"color: #0066bb; font-weight: bold;\">setName<\/span><span style=\"color: #333333;\">(<\/span>String name<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">this<\/span><span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">name<\/span> <span style=\"color: #333333;\">=<\/span> name<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> String <span style=\"color: #0066bb; font-weight: bold;\">getDepartment<\/span><span style=\"color: #333333;\">()<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">return<\/span> department<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #333399; font-weight: bold;\">void<\/span> <span style=\"color: #0066bb; font-weight: bold;\">setDepartment<\/span><span style=\"color: #333333;\">(<\/span>String department<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">this<\/span><span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">department<\/span> <span style=\"color: #333333;\">=<\/span> department<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\t\t\n<span style=\"color: #333333;\">}<\/span>\n<\/pre>\n<p>&nbsp;<\/p>\n<h5>The StudentResource File<\/h5>\n<pre style=\"margin: 0; line-height: 125%;\"><span style=\"color: #555555; font-weight: bold;\">@RestController<\/span>\t<span style=\"color: #555555; font-weight: bold;\">@RequestMapping<\/span><span style=\"color: #333333;\">(<\/span><span style=\"background-color: #fff0f0;\">\"\/cruddemo\"<\/span><span style=\"color: #333333;\">)<\/span>\n<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #008800; font-weight: bold;\">class<\/span> <span style=\"color: #bb0066; font-weight: bold;\">StudentResource<\/span> <span style=\"color: #333333;\">{<\/span>\t\t\n\t\n\t<span style=\"color: #555555; font-weight: bold;\">@Autowired<\/span>\n\t<span style=\"color: #008800; font-weight: bold;\">private<\/span> StudentService studentService<span style=\"color: #333333;\">;<\/span>\n\t\n\t<span style=\"color: #555555; font-weight: bold;\">@GetMapping<\/span><span style=\"color: #333333;\">(<\/span><span style=\"background-color: #fff0f0;\">\"\/students\"<\/span><span style=\"color: #333333;\">)<\/span>\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> List<span style=\"color: #333333;\">&lt;<\/span>Student<span style=\"color: #333333;\">&gt;<\/span> <span style=\"color: #0066bb; font-weight: bold;\">getStudents<\/span><span style=\"color: #333333;\">()<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">return<\/span> studentService<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">getAllStudents<\/span><span style=\"color: #333333;\">();<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\t\n\t\n\t<span style=\"color: #555555; font-weight: bold;\">@GetMapping<\/span><span style=\"color: #333333;\">(<\/span><span style=\"background-color: #fff0f0;\">\"\/students\/{Id}\"<\/span><span style=\"color: #333333;\">)<\/span> \n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> Student <span style=\"color: #0066bb; font-weight: bold;\">getStudentById<\/span><span style=\"color: #333333;\">(<\/span><span style=\"color: #555555; font-weight: bold;\">@PathVariable<\/span><span style=\"color: #333333;\">(<\/span><span style=\"background-color: #fff0f0;\">\"Id\"<\/span><span style=\"color: #333333;\">)<\/span> String Id<span style=\"color: #333333;\">){<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">return<\/span> studentService<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">getStudentById<\/span><span style=\"color: #333333;\">(<\/span>Id<span style=\"color: #333333;\">);<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\t\n\t<span style=\"color: #555555; font-weight: bold;\">@PostMapping<\/span><span style=\"color: #333333;\">(<\/span><span style=\"background-color: #fff0f0;\">\"\/students\"<\/span><span style=\"color: #333333;\">)<\/span>\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #333399; font-weight: bold;\">void<\/span> <span style=\"color: #0066bb; font-weight: bold;\">addStudent<\/span><span style=\"color: #333333;\">(<\/span><span style=\"color: #555555; font-weight: bold;\">@RequestBody<\/span> Student student<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\tstudentService<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">addStudent<\/span><span style=\"color: #333333;\">(<\/span>student<span style=\"color: #333333;\">);<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\t\n\t<span style=\"color: #555555; font-weight: bold;\">@PutMapping<\/span><span style=\"color: #333333;\">(<\/span><span style=\"background-color: #fff0f0;\">\"\/students\/{Id}\"<\/span><span style=\"color: #333333;\">)<\/span>\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #333399; font-weight: bold;\">void<\/span> <span style=\"color: #0066bb; font-weight: bold;\">updateStudent<\/span><span style=\"color: #333333;\">(<\/span><span style=\"color: #555555; font-weight: bold;\">@PathVariable<\/span><span style=\"color: #333333;\">(<\/span><span style=\"background-color: #fff0f0;\">\"Id\"<\/span><span style=\"color: #333333;\">)<\/span> String Id<span style=\"color: #333333;\">,<\/span> <span style=\"color: #555555; font-weight: bold;\">@RequestBody<\/span> Student student<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\tstudentService<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">updateStudent<\/span><span style=\"color: #333333;\">(<\/span>Id<span style=\"color: #333333;\">,<\/span> student<span style=\"color: #333333;\">);<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\t\n\t\n\t<span style=\"color: #555555; font-weight: bold;\">@DeleteMapping<\/span><span style=\"color: #333333;\">(<\/span><span style=\"background-color: #fff0f0;\">\"\/students\/{Id}\"<\/span><span style=\"color: #333333;\">)<\/span>\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #333399; font-weight: bold;\">void<\/span> <span style=\"color: #0066bb; font-weight: bold;\">deleteStudent<\/span><span style=\"color: #333333;\">(<\/span><span style=\"color: #555555; font-weight: bold;\">@PathVariable<\/span> String Id<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\tstudentService<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">deleteStudent<\/span><span style=\"color: #333333;\">(<\/span>Id<span style=\"color: #333333;\">);<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n<span style=\"color: #333333;\">}<\/span>\n<\/pre>\n<p>&nbsp;<\/p>\n<h5><strong>The StudentService File<\/strong><\/h5>\n<pre style=\"margin: 0; line-height: 125%;\">Service\n<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #008800; font-weight: bold;\">class<\/span> <span style=\"color: #bb0066; font-weight: bold;\">StudentService<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\n\t\n\tList<span style=\"color: #333333;\">&lt;<\/span>Student<span style=\"color: #333333;\">&gt;<\/span> students <span style=\"color: #333333;\">=<\/span> <span style=\"color: #008800; font-weight: bold;\">new<\/span> ArrayList<span style=\"color: #333333;\">&lt;&gt;<\/span> <span style=\"color: #333333;\">(<\/span>Arrays<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">asList<\/span><span style=\"color: #333333;\">(<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">new<\/span> <span style=\"color: #0066bb; font-weight: bold;\">Student<\/span><span style=\"color: #333333;\">(<\/span><span style=\"background-color: #fff0f0;\">\"S1\"<\/span><span style=\"color: #333333;\">,<\/span> <span style=\"background-color: #fff0f0;\">\"Kindson\"<\/span><span style=\"color: #333333;\">,<\/span> <span style=\"background-color: #fff0f0;\">\"Computer Science\"<\/span><span style=\"color: #333333;\">),<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">new<\/span> <span style=\"color: #0066bb; font-weight: bold;\">Student<\/span><span style=\"color: #333333;\">(<\/span><span style=\"background-color: #fff0f0;\">\"S2\"<\/span><span style=\"color: #333333;\">,<\/span> <span style=\"background-color: #fff0f0;\">\"Kate\"<\/span><span style=\"color: #333333;\">,<\/span> <span style=\"background-color: #fff0f0;\">\"Business\"<\/span><span style=\"color: #333333;\">)<\/span>\n\t<span style=\"color: #333333;\">));<\/span>\n\t\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> List<span style=\"color: #333333;\">&lt;<\/span>Student<span style=\"color: #333333;\">&gt;<\/span> <span style=\"color: #0066bb; font-weight: bold;\">getAllStudents<\/span><span style=\"color: #333333;\">()<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">return<\/span> students<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\t\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> Student <span style=\"color: #0066bb; font-weight: bold;\">getStudentById<\/span><span style=\"color: #333333;\">(<\/span>String Id<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\tStudent s <span style=\"color: #333333;\">=<\/span> students<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">stream<\/span><span style=\"color: #333333;\">()<\/span>\n\t\t\t\t<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">filter<\/span><span style=\"color: #333333;\">(<\/span>student <span style=\"color: #333333;\">-&gt;<\/span> Id<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">equals<\/span><span style=\"color: #333333;\">(<\/span>student<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">getId<\/span><span style=\"color: #333333;\">()))<\/span>\n\t\t\t\t<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">findAny<\/span><span style=\"color: #333333;\">()<\/span>\n\t\t\t\t<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">orElse<\/span><span style=\"color: #333333;\">(<\/span><span style=\"color: #008800; font-weight: bold;\">null<\/span><span style=\"color: #333333;\">);<\/span>\n\t\t<span style=\"color: #008800; font-weight: bold;\">return<\/span> s<span style=\"color: #333333;\">;<\/span>\n\t<span style=\"color: #333333;\">}<\/span>\n\n\t\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #333399; font-weight: bold;\">void<\/span> <span style=\"color: #0066bb; font-weight: bold;\">addStudent<\/span><span style=\"color: #333333;\">(<\/span>Student student<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\tstudents<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">add<\/span><span style=\"color: #333333;\">(<\/span>student<span style=\"color: #333333;\">);<\/span>\t\t\n\t<span style=\"color: #333333;\">}<\/span>\n\n\t\n\t<span style=\"color: #008800; font-weight: bold;\">public<\/span> <span style=\"color: #333399; font-weight: bold;\">void<\/span> <span style=\"color: #0066bb; font-weight: bold;\">updateStudent<\/span><span style=\"color: #333333;\">(<\/span>String id<span style=\"color: #333333;\">,<\/span> Student student<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t\n\t\t<span style=\"color: #008800; font-weight: bold;\">for<\/span><span style=\"color: #333333;\">(<\/span>Student <span style=\"color: #997700; font-weight: bold;\">s:<\/span> students<span style=\"color: #333333;\">)<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t\t<span style=\"color: #008800; font-weight: bold;\">if<\/span><span style=\"color: #333333;\">(<\/span>id<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">equals<\/span><span style=\"color: #333333;\">(<\/span>s<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">getId<\/span><span style=\"color: #333333;\">()))<\/span> <span style=\"color: #333333;\">{<\/span>\n\t\t\t\ts<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">setDepartment<\/span><span style=\"color: #333333;\">(<\/span>student<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">getDepartment<\/span><span style=\"color: #333333;\">());<\/span>\n\t\t\t\ts<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">setName<\/span><span style=\"color: #333333;\">(<\/span>student<span style=\"color: #333333;\">.<\/span><span style=\"color: #0000cc;\">getName<\/span><span style=\"color: #333333;\">());<\/span>\n\t\t\t<span style=\"color: #333333;\">}<\/span>\n\t\t<span style=\"color: #333333;\">}<\/span>\n\t\t\n\t<span style=\"color: #333333;\">}<\/span>\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This procedure teaches you how to perform CRUD operation (Insert, Update, Select and Delete) in Spring MVC. Source codes is included at the end of &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[414],"tags":[],"class_list":["post-1928","post","type-post","status-publish","format-standard","hentry","category-programming"],"_links":{"self":[{"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/posts\/1928","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/comments?post=1928"}],"version-history":[{"count":1,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/posts\/1928\/revisions"}],"predecessor-version":[{"id":2096,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/posts\/1928\/revisions\/2096"}],"wp:attachment":[{"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/media?parent=1928"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/categories?post=1928"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/tags?post=1928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}