{"id":6851,"date":"2021-06-25T10:12:42","date_gmt":"2021-06-25T04:42:42","guid":{"rendered":"https:\/\/www.innovationm.com\/blog\/?p=6851"},"modified":"2021-06-25T10:19:15","modified_gmt":"2021-06-25T04:49:15","slug":"sqlite-database-in-flutter","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/","title":{"rendered":"SQLite Database in Flutter"},"content":{"rendered":"<p>&nbsp;<\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">If you are working on an application in which some API gives the same supposed low-level response again and again then at that time there is no need to hit the API every time. So, to overcome this we store that data in some storage for eg: we use SharedPrefs(For storing low-level data) at that time. So suppose if we have some big data like user data then at that time local DB comes into role.\n<p><\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">There are n number of local DB options available in flutter but in n number of databases options, the most valuable and easy to use database is \u201cSQLite\u201d.\n<p><\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">In this article, we will discuss \u201cHow we can integrate SQLite database into our flutter application and perform some crud operations\u201d.\n<p><\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">So, to integrate SQLite we have to follow some steps which are given below:\u00a0<\/span><\/li>\n<\/ul>\n<h3><b>Add dependency or package into your pubspec.yaml file.<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">You can add something like this:<\/span><\/p>\n<pre class=\"lang:default decode:true \">dependencies:\r\n\r\n\u00a0\u00a0flutter:\r\n\r\n\u00a0\u00a0\u00a0\u00a0sdk: flutter\r\n\r\n\u00a0\u00a0sqflite: ^2.0.0+3\r\n\r\n\u00a0\u00a0path_provider: any<\/pre>\n<p><strong>Note: path_provider package is for accessing the path of the database where we have to save.<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Keep in mind that at the time of your reading the version of the package may be changed. So, add the latest version from: <\/span><a href=\"https:\/\/pub.dev\/packages\/sqflite\"><b>https:\/\/pub.dev\/packages\/sqflite<\/b><\/a><\/p>\n<h3><b>Create a DatabaseHelper class and initialize the database<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Create a private constructor of the DatabaseHelper class that can be used only inside this class.<\/span><\/p>\n<pre class=\"lang:default decode:true \">class DatabaseHelper{\r\n\r\nDatabaseHelper._();\r\n\r\nstatic final DatabaseHelper dbHelper = DatabaseHelper._();\r\n\r\n}<\/pre>\n<p><strong>Now set up the database.<\/strong><\/p>\n<pre class=\"lang:default decode:true\">Future&lt;Database&gt; get database async {\r\n\r\nif (_database != null) {\r\n\r\nreturn _database;\r\n\r\n}\r\n\r\n_database = await initializeDatabase();\r\n\r\nreturn _database;\r\n\r\n}\r\n\r\nFuture&lt;Database&gt; initializeDatabase() async {\r\n\r\n\/\/ Get the directory path for both Android and iOS to store the database.\r\n\r\nDirectory directory = await getApplicationDocumentsDirectory();\r\n\r\nString path = directory.path + ourdb.db';\r\n\r\n\/\/ Open\/create the database at a given path\r\n\r\nvar ourDatabase = await openDatabase(path, version: 1, onCreate: _createDb);\r\n\r\nreturn ourDatabase ;\r\n\r\n}\r\n\r\nvoid _createDb(Database db, int newVersion) async {\r\n\r\n\r\nawait db.execute('CREATE TABLE \u201cMyTable\u201d(\u201ccol_id\u201d INTEGER PRIMARY KEY AUTOINCREMENT, \u201ccol_title\u201d TEXT)\u2019);\r\n\r\n\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p><b>Now SQLite data work in a map, so you have to create a model class in which two methods will be there \u201ctoMap\u201d and \u201cfromMap\u201d<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><b>Now you are ready to perform CRUD operations:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">SQLite gives the predefined methods to insert, update and delete the data. You can perform something like this.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">So, to perform the insert operation you have to do something like this:<\/span><\/p>\n<pre class=\"lang:default decode:true\">Future&lt;int&gt; insertTheData(Data data) async {\r\n\r\nDatabase db = await this.database;\r\n\r\nvar result = await db.insert(data.toMap());\r\n\r\nreturn result;\r\n\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">You have to just call this method where you want to use this insert function and you have to pass the data which you want to store in the argument.<\/span><\/p>\n<p><strong>For update the data:<\/strong><\/p>\n<pre class=\"lang:default decode:true\">Future&lt;int&gt; updateData(Data data) async {\r\n\r\nvar db = await this.database;\r\n\r\nvar result = await db.update(data.toMap(), where: '$colId = ?', whereArgs: [data.id]);\r\n\r\nreturn result;\r\n\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">\/\/ you have to pass the column_id means for which id you want to update the data.<\/span><\/p>\n<p><strong>For delete the specific data:<\/strong><\/p>\n<pre class=\"lang:default decode:true\">Future&lt;int&gt; deleteData(int id) async {\r\n\r\nvar db = await this.database;\r\n\r\nint result = await db.rawDelete('DELETE FROM MyTable WHERE $colId = $id');\r\n\r\nreturn result;\r\n\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">\/\/ here you have to pass the column_id for which you have to delete the specific id.<\/span><\/p>\n<p><strong>For Read the data:<\/strong><\/p>\n<pre class=\"lang:default decode:true \">Future&lt;PassTheTypeOfData&gt; getTheData() async {\r\n\r\nDatabase db = await this.database;\r\n\r\nvar result = await db.query(MyTable, orderBy: \u201cpriority\u201d ASC');\r\n\r\nreturn result;\r\n\r\n}<\/pre>\n<p><strong>So, it\u2019s all about the integration of SQLite databases.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; If you are working on an application in which some API gives the same supposed low-level response again and again then at that time there is no need to hit the API every time. So, to overcome this we store that data in some storage for eg: we use SharedPrefs(For storing low-level data) at [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6854,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[568],"tags":[658,660,656,657,659],"class_list":["post-6851","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-flutter","tag-flutter-database-concepts","tag-persist-data-with-sqlite","tag-sqlite-database-concepts","tag-sqlite-database-in-flutter","tag-using-sqlite-in-flutter"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SQLite Database in Flutter - InnovationM - Blog<\/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:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQLite Database in Flutter - InnovationM - Blog\" \/>\n<meta property=\"og:description\" content=\"&nbsp; If you are working on an application in which some API gives the same supposed low-level response again and again then at that time there is no need to hit the API every time. So, to overcome this we store that data in some storage for eg: we use SharedPrefs(For storing low-level data) at [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-25T04:42:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-25T04:49:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/06\/Flutter-SQL.png\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"506\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"InnovationM Admin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"InnovationM Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/\"},\"author\":{\"name\":\"InnovationM Admin\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"headline\":\"SQLite Database in Flutter\",\"datePublished\":\"2021-06-25T04:42:42+00:00\",\"dateModified\":\"2021-06-25T04:49:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/\"},\"wordCount\":387,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/Flutter-SQL.png\",\"keywords\":[\"Flutter Database Concepts\",\"Persist data with SQLite\",\"SQLite Database Concepts\",\"SQLite Database in Flutter\",\"Using SQLite in Flutter\"],\"articleSection\":[\"Flutter\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/\",\"name\":\"SQLite Database in Flutter - InnovationM - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/Flutter-SQL.png\",\"datePublished\":\"2021-06-25T04:42:42+00:00\",\"dateModified\":\"2021-06-25T04:49:15+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/Flutter-SQL.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/Flutter-SQL.png\",\"width\":900,\"height\":506,\"caption\":\"Flutter & SQL\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sqlite-database-in-flutter\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQLite Database in Flutter\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\",\"name\":\"InnovationM - Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\",\"name\":\"InnovationM Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"caption\":\"InnovationM Admin\"},\"sameAs\":[\"http:\\\/\\\/www.innovationm.com\\\/\"],\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/author\\\/innovationmadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQLite Database in Flutter - InnovationM - Blog","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:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/","og_locale":"en_US","og_type":"article","og_title":"SQLite Database in Flutter - InnovationM - Blog","og_description":"&nbsp; If you are working on an application in which some API gives the same supposed low-level response again and again then at that time there is no need to hit the API every time. So, to overcome this we store that data in some storage for eg: we use SharedPrefs(For storing low-level data) at [&hellip;]","og_url":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/","og_site_name":"InnovationM - Blog","article_published_time":"2021-06-25T04:42:42+00:00","article_modified_time":"2021-06-25T04:49:15+00:00","og_image":[{"width":900,"height":506,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/06\/Flutter-SQL.png","type":"image\/png"}],"author":"InnovationM Admin","twitter_misc":{"Written by":"InnovationM Admin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/"},"author":{"name":"InnovationM Admin","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"headline":"SQLite Database in Flutter","datePublished":"2021-06-25T04:42:42+00:00","dateModified":"2021-06-25T04:49:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/"},"wordCount":387,"commentCount":0,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/06\/Flutter-SQL.png","keywords":["Flutter Database Concepts","Persist data with SQLite","SQLite Database Concepts","SQLite Database in Flutter","Using SQLite in Flutter"],"articleSection":["Flutter"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/","url":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/","name":"SQLite Database in Flutter - InnovationM - Blog","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/06\/Flutter-SQL.png","datePublished":"2021-06-25T04:42:42+00:00","dateModified":"2021-06-25T04:49:15+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/06\/Flutter-SQL.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/06\/Flutter-SQL.png","width":900,"height":506,"caption":"Flutter & SQL"},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/sqlite-database-in-flutter\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQLite Database in Flutter"}]},{"@type":"WebSite","@id":"https:\/\/www.innovationm.com\/blog\/#website","url":"https:\/\/www.innovationm.com\/blog\/","name":"InnovationM - Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.innovationm.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed","name":"InnovationM Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","caption":"InnovationM Admin"},"sameAs":["http:\/\/www.innovationm.com\/"],"url":"https:\/\/www.innovationm.com\/blog\/author\/innovationmadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/6851","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/comments?post=6851"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/6851\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/6854"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=6851"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=6851"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=6851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}