{"id":30906,"date":"2024-03-13T09:21:36","date_gmt":"2024-03-13T08:21:36","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=30906"},"modified":"2024-04-25T10:23:26","modified_gmt":"2024-04-25T08:23:26","slug":"create-rest-api-from-your-database-in-minute-with-feathers-js","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/","title":{"rendered":"Create REST API from your database in minute with Feathers.js"},"content":{"rendered":"\n<p>Creating REST APIs is a fairly repetitive task. You&#8217;re always rewriting the Create, Read, Update, Delete methods\u2026<br>In my search for a framework capable of generating a REST API, I discovered <a href=\"https:\/\/feathersjs.com\/\">Feathers<\/a>, a simple and useful framework for <a href=\"https:\/\/nodejs.org\/\">Node.js<\/a>. <br>In this article, we&#8217;ll show you how to create a REST API from a PostgreSQL database in just a few minutes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-introduction-to-feathers\">Introduction to Feathers<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"546\" height=\"92\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png\" alt=\"Feathers.js\" class=\"wp-image-31025\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png 546w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26-300x51.png 300w\" sizes=\"auto, (max-width: 546px) 100vw, 546px\" \/><\/figure>\n\n\n\n<p>Feathers is a framework for creating APIs in TypeScript or JavaScript. It can connect to various SQL (PostgreSQL, MySQL, Oracle, MSSQL\u2026) or NoSQL (MongoDB) databases.<br>It can generate a REST or real-time API (web-socket), a CLI can be used to speed up development.<br>Lot of packages provided by the community exist to adding new features to Feather.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-prerequisites\">Prerequisites<\/h2>\n\n\n\n<p>To create a REST API application with Feathers.js, you need <a href=\"https:\/\/nodejs.org\/en\">Node.js<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-first-step-with-the-cli\">First Step with the CLI<\/h2>\n\n\n\n<p>I want to create a REST API for my workshop project, the API should exposing a table from my db to list all available workshops.<br>To start, I&#8217;m going to create a project using npm, which installs the CLI locally in the project at the same time.<\/p>\n\n\n\n<p> Run the command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm create feathers@latest workshop-api<\/code><\/pre>\n\n\n\n<p>During the initialisation, answer to the questions :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>? Do you want to use JavaScript or TypeScript? TypeScript\n? Write a short description Workshop rest API\n? Which HTTP framework do you want to use? KoaJS (recommended)\n? What APIs do you want to offer? HTTP (REST)\n? Which package manager are you using? npm\n? Generate end-to-end typed client? Can be used with React, Angular, Vue, React Native, Node.js etc. Yes\n? What is your preferred schema (model) definition format? Schemas allow to type, validate, secure and populate your data and configuration TypeBox (recommended)\n? Which database are you connecting to? Databases can be added at any time PostgreSQL\n? Enter your database connection string postgres:\/\/postgres:@localhost:5432\/workshop<\/code><\/pre>\n\n\n\n<p>I choose :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TypeScript as language. In my opinion, typing can avoid many bugs<\/li>\n\n\n\n<li>KoaJS as HTTP framework (KoaJS is a new framework designed by the team behind Express)<\/li>\n\n\n\n<li>Only REST APIs, I have unchecked the real time API, I don&#8217;t want to use Web Sockets in my project<\/li>\n\n\n\n<li>npm as package manager because, it&#8217;s already installed with node.js<\/li>\n\n\n\n<li>Generate end-to-end typed client to YES, to be able to use types in front application<\/li>\n\n\n\n<li>Typebox as schema (the default schema for Feathers)<\/li>\n\n\n\n<li>PostgreSQL as database and the corresponding connection string<\/li>\n<\/ul>\n\n\n\n<p>Now, initialization is complete. We have the skeleton of our application, but still no exposed service.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-add-a-service-to-the-application\">Add a service to the application<\/h2>\n\n\n\n<p>I use the CLI to generate a new service. This allows me to expose a table from my database via the REST API service. <\/p>\n\n\n\n<p>To do this, into the application folder, simply run the npx command and answer the questions:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npx feathers generate service<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>? What is the name of your service? workshop\n? Which path should the service be registered on? workshop\n? Does this service require authentication? No\n? What database is the service using? SQL\n? Which schema definition format do you want to use? Schemas allow to type, validate, secure and populate data TypeBox  (recommended)\n<\/code><\/pre>\n\n\n\n<p>This command generates the files needed to expose a new service. Now I just need to define the structure of my table to have a functional service.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-define-the-data-schema\">Define the data schema<\/h2>\n\n\n\n<p>To add our data model, we edit the generated file src\/services\/workshop\/workshop.schema.ts and update the definition in this block of code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Main data model schema\nexport const workshopSchema = Type.Object(\n  {\n    id: Type.Number(),\n    text: Type.String()\n  },\n  { $id: 'Workshop', additionalProperties: false }\n)<\/code><\/pre>\n\n\n\n<p>By default the generated schema contains only an id and a text field. We&#8217;re going to modify the schema to adapt it to the actual structure of the data in the database. <\/p>\n\n\n\n<p>I used an existing database with a workshop table designed like this:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>id: primary key, auto increment<\/li>\n\n\n\n<li>name: varchar 255, required<\/li>\n\n\n\n<li>description: text, required<\/li>\n\n\n\n<li>image: varchar 255<\/li>\n<\/ul>\n\n\n\n<p>I&#8217;m changing the schema to match the structure of my database like this :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Main data model schema\nexport const workshopSchema = Type.Required(Type.Object(\n  {\n    id: Type.Number(),\n    name: Type.String({\n      maxLength: 255\n    }),\n    description: Type.String({\n      maxLength: 4096\n    }),\n    image: Type.Optional(Type.String({\n      format: 'uri'\n    }))\n  },\n  { $id: 'Workshop', additionalProperties: false }\n))<\/code><\/pre>\n\n\n\n<p>In addition, update the columns list in the schema for creation and allowed query properties :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Schema for creating new entries\nexport const workshopDataSchema = Type.Pick(workshopSchema, &#091;'name', 'description', 'image'], {\n  $id: 'WorkshopData'\n})\n\n.....\n\n\/\/ Schema for allowed query properties\nexport const workshopQueryProperties = Type.Pick(workshopSchema, &#091;'id', 'name', 'description', 'image'])\n<\/code><\/pre>\n\n\n\n<p>You can use the same process to generate as many services as you like. It&#8217;s quick and easy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-run-the-application\">Run the Application<\/h2>\n\n\n\n<p>Now that the service is configured, I can run your freshly created REST API.<\/p>\n\n\n\n<p>To do that, I run the command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm run dev<\/code><\/pre>\n\n\n\n<p>Once the application has started, simply open a browser and go to the url: http:\/\/localhost:3030<br>This page display only a Feathers.js logo. <br>To view the data of your db exposed by the service, go to: http:\/\/localhost:3030\/[my_service name]<br>In my case, it&#8217;s: http:\/\/localhost:3030\/workshop, the result of the call is a json with the data of my db.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-note-about-the-documentation\">Note about the documentation<\/h3>\n\n\n\n<p>The <a href=\"https:\/\/feathersjs.com\/guides\/basics\/generator.html#running-the-server-and-tests\">Feathers documentation<\/a> about applications creation gives this command to start the application:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm run compile \nnpm run migrate \nnpm start<\/code><\/pre>\n\n\n\n<p>The npm run compile an npm start have the same behavior as npm run dev, except that these first commands don&#8217;t refresh when code changes. But be careful with npm run migrate.<\/p>\n\n\n\n<p>The npm run migrate, execute <a href=\"https:\/\/knexjs.org\/\">Knex.js<\/a>, a tool for modifying the data structure in the database. Run the migrate command, which deletes nothing, but creates 2 tables in the db for internal use. If you already have a database with data, the migrate command is useless.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2>\n\n\n\n<p>Creating a REST API application with Feathers.js is quick and easy, using its cli. It can connect to many databases such as PostgreSQL, MSSQL, Oracle, MongoDB\u2026..<br>This article was a simple, basic example of API implementation, but Feathers.js can do more. Like authentication, data structure migration or adding a debugging user interface (Swagger) with an additional package.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-to-continue-with-feathers-js\">To continue with Feathers.js<\/h2>\n\n\n\n<p>See related articles:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/add-a-ui-to-explore-the-feathers-js-api\/\">Add a UI to explore the Feathers.js API<\/a><br><a href=\"https:\/\/www.dbi-services.com\/blog\/add-authentication-in-a-feathers-js-rest-api\/\">Add authentication in a Feathers.js REST API<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Creating REST APIs is a fairly repetitive task. You&#8217;re always rewriting the Create, Read, Update, Delete methods\u2026In my search for a framework capable of generating a REST API, I discovered Feathers, a simple and useful framework for Node.js. In this article, we&#8217;ll show you how to create a REST API from a PostgreSQL database in [&hellip;]<\/p>\n","protected":false},"author":72,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[368,83,3029],"tags":[979,1090,1001,77,3257],"type_dbi":[],"class_list":["post-30906","post","type-post","status-publish","format-standard","hentry","category-development-performance","category-postgresql","category-web","tag-api","tag-javascript","tag-node-js","tag-postgresql","tag-typescript"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Create REST API from your database in minute with Feathers.js - dbi Blog<\/title>\n<meta name=\"description\" content=\"Create a REST API application with Feathers.js step by step. Use the CLI and a few code modifications to quickly run your REST API in Node.js\" \/>\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.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create REST API from your database in minute with Feathers.js\" \/>\n<meta property=\"og:description\" content=\"Create a REST API application with Feathers.js step by step. Use the CLI and a few code modifications to quickly run your REST API in Node.js\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-13T08:21:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-25T08:23:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png\" \/>\n<meta name=\"author\" content=\"Nicolas Meunier\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nicolas Meunier\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/\"},\"author\":{\"name\":\"Nicolas Meunier\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/2e08c09a2f083004587b54128684fefe\"},\"headline\":\"Create REST API from your database in minute with Feathers.js\",\"datePublished\":\"2024-03-13T08:21:36+00:00\",\"dateModified\":\"2024-04-25T08:23:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/\"},\"wordCount\":796,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png\",\"keywords\":[\"api\",\"JavaScript\",\"Node.js\",\"PostgreSQL\",\"TypeScript\"],\"articleSection\":[\"Development &amp; Performance\",\"PostgreSQL\",\"Web\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/\",\"name\":\"Create REST API from your database in minute with Feathers.js - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png\",\"datePublished\":\"2024-03-13T08:21:36+00:00\",\"dateModified\":\"2024-04-25T08:23:26+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/2e08c09a2f083004587b54128684fefe\"},\"description\":\"Create a REST API application with Feathers.js step by step. Use the CLI and a few code modifications to quickly run your REST API in Node.js\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png\",\"width\":546,\"height\":92},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create REST API from your database in minute with Feathers.js\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/2e08c09a2f083004587b54128684fefe\",\"name\":\"Nicolas Meunier\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/cc2139acc6c64bddf3827e2faaaa70f227faafc288457fc351a4a836813112a8?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cc2139acc6c64bddf3827e2faaaa70f227faafc288457fc351a4a836813112a8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cc2139acc6c64bddf3827e2faaaa70f227faafc288457fc351a4a836813112a8?s=96&d=mm&r=g\",\"caption\":\"Nicolas Meunier\"},\"description\":\"Nicolas Meunier has more than 20 years of experience in IT web technologies as well as in development. He is specialized in Cloud solutions such as CI\/CD. His expertise also includes Kubernetes, Docker, Jenkins-X and Azure Devops. Florence Porret (FP is IT Consultant in Cloud solutions. Prior to joining dbi services, Nicolas Meunier was developer and maintainer of a CI\/CD pipelines at CEGID in Paris. He also worked as Lead Developer at KPMG. Florence Porret (FP holds a superior technical diploma in IT development. His branch-related experience covers software and cloud platform architecture.\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/nicolasmeunier\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Create REST API from your database in minute with Feathers.js - dbi Blog","description":"Create a REST API application with Feathers.js step by step. Use the CLI and a few code modifications to quickly run your REST API in Node.js","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.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/","og_locale":"en_US","og_type":"article","og_title":"Create REST API from your database in minute with Feathers.js","og_description":"Create a REST API application with Feathers.js step by step. Use the CLI and a few code modifications to quickly run your REST API in Node.js","og_url":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/","og_site_name":"dbi Blog","article_published_time":"2024-03-13T08:21:36+00:00","article_modified_time":"2024-04-25T08:23:26+00:00","og_image":[{"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png","type":"","width":"","height":""}],"author":"Nicolas Meunier","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Nicolas Meunier","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/"},"author":{"name":"Nicolas Meunier","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/2e08c09a2f083004587b54128684fefe"},"headline":"Create REST API from your database in minute with Feathers.js","datePublished":"2024-03-13T08:21:36+00:00","dateModified":"2024-04-25T08:23:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/"},"wordCount":796,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png","keywords":["api","JavaScript","Node.js","PostgreSQL","TypeScript"],"articleSection":["Development &amp; Performance","PostgreSQL","Web"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/","url":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/","name":"Create REST API from your database in minute with Feathers.js - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png","datePublished":"2024-03-13T08:21:36+00:00","dateModified":"2024-04-25T08:23:26+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/2e08c09a2f083004587b54128684fefe"},"description":"Create a REST API application with Feathers.js step by step. Use the CLI and a few code modifications to quickly run your REST API in Node.js","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-26.png","width":546,"height":92},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/create-rest-api-from-your-database-in-minute-with-feathers-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Create REST API from your database in minute with Feathers.js"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/2e08c09a2f083004587b54128684fefe","name":"Nicolas Meunier","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/cc2139acc6c64bddf3827e2faaaa70f227faafc288457fc351a4a836813112a8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/cc2139acc6c64bddf3827e2faaaa70f227faafc288457fc351a4a836813112a8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cc2139acc6c64bddf3827e2faaaa70f227faafc288457fc351a4a836813112a8?s=96&d=mm&r=g","caption":"Nicolas Meunier"},"description":"Nicolas Meunier has more than 20 years of experience in IT web technologies as well as in development. He is specialized in Cloud solutions such as CI\/CD. His expertise also includes Kubernetes, Docker, Jenkins-X and Azure Devops. Florence Porret (FP is IT Consultant in Cloud solutions. Prior to joining dbi services, Nicolas Meunier was developer and maintainer of a CI\/CD pipelines at CEGID in Paris. He also worked as Lead Developer at KPMG. Florence Porret (FP holds a superior technical diploma in IT development. His branch-related experience covers software and cloud platform architecture.","url":"https:\/\/www.dbi-services.com\/blog\/author\/nicolasmeunier\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/30906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/72"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=30906"}],"version-history":[{"count":26,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/30906\/revisions"}],"predecessor-version":[{"id":32876,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/30906\/revisions\/32876"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=30906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=30906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=30906"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=30906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}