{"id":6532,"date":"2021-01-12T13:25:04","date_gmt":"2021-01-12T07:55:04","guid":{"rendered":"https:\/\/www.innovationm.com\/blog\/?p=6532"},"modified":"2023-01-20T18:55:09","modified_gmt":"2023-01-20T13:25:09","slug":"rest-api-in-flutter","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/","title":{"rendered":"Rest API in Flutter"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">If you have worked on mobile app development, you probably would have heard about API.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">API in a mobile app is required to allow users to communicate with other applications. This can be a backend server developed by you or even by any other company like Facebook, Google etc.<\/span><\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-6533 size-full\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image2-2.png\" alt=\"\" width=\"819\" height=\"346\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image2-2.png 819w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image2-2-300x127.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image2-2-768x324.png 768w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image2-2-624x264.png 624w\" sizes=\"(max-width: 819px) 100vw, 819px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">REST API follows REST protocol and uses HTTP requests to communicate. Requests can be of GET, POST, PUT, DELETE type. These requests are used to handle data. REST API can also be understood as an architecture type used for creating web-services for your mobile app.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For flutter apps, developers can integrate them into the backend, along with UI development. We can use REST API for this because it uses simple HTTP requests and JSON for communication.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Features like asynchronous (using async and await keywords) programming makes it even better to use.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To make the process even easier for developers, the flutter team has provided the HTTP package.<\/span><\/p>\n<p><b>STEP 1: Basic setup in the project<\/b><\/p>\n<p><span style=\"font-weight: 400;\">To add the HTTP package to your project, we must make some changes to the pubspec.yaml file.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This file is already a part of your project package when a new project is created.<\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-6534 size-full\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image1-2.png\" alt=\"\" width=\"1162\" height=\"296\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image1-2.png 1162w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image1-2-300x76.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image1-2-1024x261.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image1-2-768x196.png 768w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/image1-2-624x159.png 624w\" sizes=\"(max-width: 1162px) 100vw, 1162px\" \/><\/p>\n<pre class=\"lang:default decode:true \">dependencies:\r\n\r\n\u00a0\u00a0http: ^0.12.2<\/pre>\n<p><strong>You can install the package:<\/strong><\/p>\n<ul>\n<li><strong>Using Pub:<\/strong><\/li>\n<\/ul>\n<pre class=\"lang:default decode:true \">$ pub get<\/pre>\n<ul>\n<li><strong>Using Flutter:<\/strong><\/li>\n<\/ul>\n<pre class=\"lang:default decode:true \">$ flutter pub get<\/pre>\n<p><span style=\"font-weight: 400;\">Now to use it in your dart code, you can import using :\u00a0<\/span><\/p>\n<pre class=\"lang:default decode:true \">import 'package:http\/http.dart';<\/pre>\n<p><b>STEP 2: Create a request\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The basic request below uses the GET HTTP method to fetch the data from the given URL in JSON format. Each request returns a Response class object.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A Future&lt;&gt; is used to represent a potential value or error that will be available at some time in the future. Since you have made a request to a server now, but the response will actually be available later in future. In our code, we haven\u2019t used Future&lt;Response&gt;.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here, we use the async &amp; await feature which ensures that the response is asynchronous which means until &amp; unless we get the response, code will not move further.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This will ensure that method will not return until the response is actually received<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<pre class=\"lang:default decode:true \">String url = \"Your_URL\";\r\n\r\nResponse getRequest() async {\r\n\r\nfinal response = await http.get(url);\r\n\r\nreturn response;\r\n\r\n}\r\n\r\n\r\n(Another example)\r\n\r\n\r\nimport 'package:http\/http.dart' as http;\r\n\r\nString url = 'https:\/\/\u2026\u2026\u2026.\/resource\u2019;\r\n\r\nResponse response = await http.post(url,\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0body: {'name': \u2018Name\u2019, 'color': \u2018black\u2019});\r\n\r\nprint('Response status: ${response.statusCode}');\r\n\r\nprint('Response body: ${response.body}');<\/pre>\n<p><b>STEP 3: Create\u00a0 a Response class<\/b><\/p>\n<pre class=\"lang:default decode:true \">class Response {\u00a0\r\n\r\n\u00a0\u00a0final int id;\u00a0\r\n\r\n\u00a0\u00a0final String title;\u00a0\u00a0\r\n\r\n\u00a0\u00a0Response(\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0this.id,\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0this.title,\r\n\r\n\u00a0\u00a0);\u00a0\r\n\r\n}<\/pre>\n<p><b>STEP 4: Displaying the JSON data after decoding it<\/b><\/p>\n<pre class=\"lang:default decode:true \">ex :\u00a0\r\n\r\nList&lt;Fruit&gt; decodetheResourceEntity(String responseBody) {\r\n\r\n\u00a0final parsed = json.decode(responseBody).cast&lt;Map&lt;String, dynamic&gt;&gt;();\r\n\r\n\u00a0return parsed.map&lt;ResourceEntity&gt;((json) =&gt; ResourceEntity.fromMap(json)).toList();\r\n\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">Other than fetching the data from the servers, we can also update, delete and send the data to the backend servers. The code for that is shown below.<\/span><\/p>\n<p><b>Code for Updating the data :<\/b><\/p>\n<pre class=\"lang:default decode:true \">Resource updateResource(String title, int id) async {\u00a0\r\n\r\nfinal http.Response response = await http.put(\u00a0\r\n\r\n\u2018http:\/\/url\/\u2026..\u2019,\u00a0\r\n\r\nheaders: &lt;String, String&gt;{\u00a0\r\n\r\n'Content-Type': 'application\/json; charset=UTF-8',\u00a0\r\n\r\n},\u00a0\r\n\r\nbody: jsonEncode(&lt;String, String&gt;{\u00a0\r\n\r\n'title': title,\u00a0\r\n\r\n}),\u00a0\r\n\r\n);\u00a0\r\n\r\nif (response.statusCode == 200) {\u00a0\r\n\r\nreturn Resource.fromJson(json.decode(response.body));\u00a0\r\n\r\n} else {\u00a0\r\n\r\nthrow Exception('Failed to update.');\u00a0\r\n\r\n}\u00a0\r\n\r\n}<\/pre>\n<p><b>Code for deleting the data :<\/b><\/p>\n<pre class=\"lang:default decode:true \">Resource deleteResource(int id) async {\u00a0\r\n\r\nfinal http.Response response = await http.delete(\u00a0\r\n\r\n\u2018http:\/\/url\/\u2026\u2026.',\u00a0\r\n\r\nheaders: &lt;String, String&gt;{\u00a0\r\n\r\n'Content-Type': 'application\/json; charset=UTF-8',\u00a0\r\n\r\n},\u00a0\r\n\r\n);\u00a0\r\n\r\nif (response.statusCode == 200) {\u00a0\r\n\r\nreturn Resource.fromJson(json.decode(response.body));\u00a0\r\n\r\n} else {\u00a0\r\n\r\nthrow Exception('Failed to delete.');\u00a0\r\n\r\n}\u00a0\r\n\r\n}<\/pre>\n<p><b>Code for Sending data using the POST request:<\/b><\/p>\n<pre class=\"lang:default decode:true \">Resource saveResource(\u00a0\r\n\r\nString title, int id) async {\u00a0\r\n\r\nfinal http.Response response = await http.post(\u00a0\r\n\r\n\u2018http:\/\/url\/\u2026\u2026.',\u00a0\u00a0\r\n\r\nheaders: &lt;String, String&gt; {\u00a0\r\n\r\n'Content-Type': 'application\/json; charset=UTF-8',\u00a0\r\n\r\n},\u00a0\r\n\r\nbody: jsonEncode(&lt;String, String&gt; {\u00a0\r\n\r\n'title': title,\u00a0\r\n\r\n'id': id,\r\n\r\n}),\u00a0\r\n\r\n);\u00a0\r\n\r\nif (response.statusCode == 200) {\u00a0\r\n\r\nreturn Resource.fromJson(json.decode(response.body));\u00a0\r\n\r\n} else {\u00a0\r\n\r\nthrow Exception('Failed to save the resource);\u00a0\r\n\r\n}\u00a0\r\n\r\n}<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you have worked on mobile app development, you probably would have heard about API. API in a mobile app is required to allow users to communicate with other applications. This can be a backend server developed by you or even by any other company like Facebook, Google etc. REST API follows REST protocol and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6535,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[568],"tags":[14,567],"class_list":["post-6532","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-flutter","tag-innovationm","tag-rest-api-in-flutter"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Rest API 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\/rest-api-in-flutter\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rest API in Flutter - InnovationM - Blog\" \/>\n<meta property=\"og:description\" content=\"If you have worked on mobile app development, you probably would have heard about API. API in a mobile app is required to allow users to communicate with other applications. This can be a backend server developed by you or even by any other company like Facebook, Google etc. REST API follows REST protocol and [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-12T07:55:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-20T13:25:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/Rest-API-in-Flutter.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\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\\\/rest-api-in-flutter\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/\"},\"author\":{\"name\":\"InnovationM Admin\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"headline\":\"Rest API in Flutter\",\"datePublished\":\"2021-01-12T07:55:04+00:00\",\"dateModified\":\"2023-01-20T13:25:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/\"},\"wordCount\":409,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Rest-API-in-Flutter.png\",\"keywords\":[\"InnovationM\",\"Rest API in Flutter\"],\"articleSection\":[\"Flutter\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/\",\"name\":\"Rest API in Flutter - InnovationM - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Rest-API-in-Flutter.png\",\"datePublished\":\"2021-01-12T07:55:04+00:00\",\"dateModified\":\"2023-01-20T13:25:09+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Rest-API-in-Flutter.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Rest-API-in-Flutter.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/rest-api-in-flutter\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rest API 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":"Rest API 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\/rest-api-in-flutter\/","og_locale":"en_US","og_type":"article","og_title":"Rest API in Flutter - InnovationM - Blog","og_description":"If you have worked on mobile app development, you probably would have heard about API. API in a mobile app is required to allow users to communicate with other applications. This can be a backend server developed by you or even by any other company like Facebook, Google etc. REST API follows REST protocol and [&hellip;]","og_url":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/","og_site_name":"InnovationM - Blog","article_published_time":"2021-01-12T07:55:04+00:00","article_modified_time":"2023-01-20T13:25:09+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/Rest-API-in-Flutter.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\/rest-api-in-flutter\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/"},"author":{"name":"InnovationM Admin","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"headline":"Rest API in Flutter","datePublished":"2021-01-12T07:55:04+00:00","dateModified":"2023-01-20T13:25:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/"},"wordCount":409,"commentCount":1,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/Rest-API-in-Flutter.png","keywords":["InnovationM","Rest API in Flutter"],"articleSection":["Flutter"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/","url":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/","name":"Rest API in Flutter - InnovationM - Blog","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/Rest-API-in-Flutter.png","datePublished":"2021-01-12T07:55:04+00:00","dateModified":"2023-01-20T13:25:09+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/Rest-API-in-Flutter.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/01\/Rest-API-in-Flutter.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/rest-api-in-flutter\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Rest API 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\/6532","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=6532"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/6532\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/6535"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=6532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=6532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=6532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}