{"id":37978,"date":"2024-07-11T05:22:36","date_gmt":"2024-07-11T05:22:36","guid":{"rendered":"https:\/\/www.railscarma.com\/?p=37978"},"modified":"2024-07-11T05:22:40","modified_gmt":"2024-07-11T05:22:40","slug":"building-a-restful-api-using-grape-in-ruby-on-rails","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/","title":{"rendered":"Construire une API RESTful en utilisant Grape dans Ruby on Rails"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"37978\" class=\"elementor elementor-37978\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-047c76d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"047c76d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-df36e46\" data-id=\"df36e46\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3ba2006 elementor-widget elementor-widget-text-editor\" data-id=\"3ba2006\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">In the realm of web development, creating RESTful APIs is a common necessity. RESTful APIs allow different systems to communicate over HTTP in a standardized way, making them integral to modern web applications. Ruby on Rails (RoR) provides a robust framework for web development, and with the addition of Grape, a micro-framework for creating APIs, building a RESTful API becomes even more streamlined and efficient. This article will guide you through the process of building a RESTful API using Grape in a Ruby on Rails application, complete with an example.<\/span><\/p>\n<h2><b>What is Grape?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Grape is a Ruby framework specifically designed for creating REST-like APIs. It is lightweight and complements Rails well, offering a simple DSL (Domain-Specific Language) to define RESTful APIs. Grape allows you to focus on the API logic while handling common tasks such as parameter validation, formatting, and versioning.<\/span><\/p>\n<h2><b>Setting Up Grape in a Rails Application<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">To get started, you need a Rails application. If you don&#8217;t have one already, you can create a new Rails application with:<\/span><\/p>\n<pre><span style=\"font-weight: 400;\">rails new grape_api_example<br><\/span><span style=\"font-weight: 400;\">cd grape_api_example<\/span><\/pre>\n<p style=\"font-size: 16px; font-style: normal;\"><span style=\"font-weight: 400; font-size: 16px;\">Add the Grape gem to your <\/span><span style=\"font-size: 16px;\"><b>Fichier de gemmes<\/b><\/span><span style=\"font-size: 16px;\"><b>:<\/b><br><\/span><\/p>\n<p><\/p>\n<pre><span style=\"font-size: 16px; font-weight: 400; color: var( --e-global-color-text );\">gem 'grape'<\/span><\/pre>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">Courir <\/span><b>installation group\u00e9e<\/b><span style=\"font-weight: 400;\"> to install the gem.<\/span><\/p>\n<h2><b>Creating the API<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Create a new directory for your API under <\/span><b>app<\/b><span style=\"font-weight: 400;\">:<\/span><\/p>\n<pre><span style=\"font-weight: 400;\">mkdir app\/api<\/span><\/pre>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">Next, create a base class for your API. This class will inherit from <\/span><b>Grape::API<\/b><span style=\"font-weight: 400;\"> and serve as the foundation for your endpoints. Create a file <\/span><b>app\/api\/base_api.rb<\/b><span style=\"font-weight: 400;\"> and add the following code:<\/span><\/p>\n<pre><span style=\"font-weight: 400;\">API des modules<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;class Base &lt; Grape::API<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;&nbsp;&nbsp;format :json<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;&nbsp;&nbsp;rescue_from :all do |e|<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_response(message: e.message, status: 500)<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;&nbsp;&nbsp;fin<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;&nbsp;&nbsp;mount API::V1::Base<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;fin<br><\/span><span style=\"font-weight: 400;\">fin<\/span><\/pre>\n<p><\/p>\n<h2><b>Versioning Your API<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Versioning is crucial for maintaining backward compatibility. In this example, we will create version 1 of our API. Create a directory <\/span><b>app\/api\/v1<\/b><span style=\"font-weight: 400;\"> and a base file <\/span><b>app\/api\/v1\/base.rb<\/b><span style=\"font-weight: 400;\">:<\/span><\/p>\n<pre><span style=\"font-weight: 400;\">API des modules<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;module V1<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;&nbsp;&nbsp;class Base &lt; Grape::API<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version 'v1', using: :path<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mount API::V1::Users<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;&nbsp;&nbsp;fin<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;fin<br><\/span><span style=\"font-weight: 400;\">fin<\/span><\/pre>\n<p><\/p>\n<h3><b>Defining Endpoints<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Let\u2019s create a simple endpoint for managing users. Create a file <\/span><b>app\/api\/v1\/users.rb<\/b><span style=\"font-weight: 400;\">:<\/span><\/p>\n<pre>module API\n  module V1\n    class Users &lt; Grape::API\n      resource :users do\n        desc 'Return a list of users'\n        get do\n          User.all\n        end\n\n        desc 'Return a specific user'\n        params do\n          requires :id, type: Integer, desc: 'User ID'\n        end\n        route_param :id do\n          get do\n            User.find(params[:id])\n          end\n        end\n\n        desc 'Create a user'\n        params do\n          requires :name, type: String, desc: 'User name'\n          requires :email, type: String, desc: 'User email'\n        end\n        post do\n          User.create!({\n            name: params[:name],\n            email: params[:email]\n          })\n        end\n\n        desc 'Update a user'\n        params do\n          requires :id, type: Integer, desc: 'User ID'\n          requires :name, type: String, desc: 'User name'\n          requires :email, type: String, desc: 'User email'\n        end\n        put ':id' do\n          user = User.find(params[:id])\n          user.update({\n            name: params[:name],\n            email: params[:email]\n          })\n        end\n\n        desc 'Delete a user'\n        params do\n          requires :id, type: Integer, desc: 'User ID'\n        end\n        delete ':id' do\n          User.find(params[:id]).destroy\n        end\n      end\n    end\n  end\nend\n<\/pre>\n<p><b style=\"color: rgb(51, 51, 51); font-size: 1.5625rem; font-style: inherit;\">Mounting the API<\/b><\/p>\n<p><span style=\"font-weight: 400;\">To mount the API, you need to update your <\/span><b>config\/routes.rb:<\/b><\/p>\n<pre><span style=\"font-weight: 400;\">Rails.application.routes.draw faire<br><\/span><span style=\"font-weight: 400;\">&nbsp;&nbsp;mount API::Base =&gt; '\/'<br><\/span><span style=\"font-weight: 400;\">fin<\/span><\/pre>\n<p><\/p>\n<h3><b>Cr\u00e9ation du mod\u00e8le utilisateur<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">To support the user endpoints, generate a User model:<\/span><\/p>\n<pre><span style=\"font-weight: 400;\">rails generate model User name:string email:string<br><\/span><span style=\"font-weight: 400;\">base de donn\u00e9es rails: migrer<\/span><\/pre>\n<p><\/p>\n<h3><b>Testing the API<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Start your Rails server:<\/span><\/p>\n<pre><span style=\"font-weight: 400;\">rails server<\/span><\/pre>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">You can now test your API endpoints using a tool like <\/span><span style=\"font-weight: 400;\">curl<\/span><span style=\"font-weight: 400;\"> or Postman. Here are some example requests:<\/span><\/p>\n<p><b>Get all users:<\/b><span style=\"font-weight: 400;\"><br><\/span><\/p>\n<pre><span style=\"font-weight: 400;\">curl http:\/\/localhost:3000\/v1\/users<\/span><\/pre>\n<p><\/p>\n<p><b>Get a specific user:<\/b><span style=\"font-weight: 400;\"><br><\/span><\/p>\n<pre><span style=\"font-weight: 400;\">curl http:\/\/localhost:3000\/v1\/users\/1<\/span><\/pre>\n<p><\/p>\n<p><b>Create a new user:<\/b><span style=\"font-weight: 400;\"><br><\/span><\/p>\n<pre><span style=\"font-weight: 400;\">curl -X POST http:\/\/localhost:3000\/v1\/users -d \"name=John Doe&amp;email=johndoe@example.com\"<\/span><\/pre>\n<p><b>Update a user:<\/b><span style=\"font-weight: 400;\"><br><\/span><\/p>\n<pre><span style=\"font-weight: 400;\">curl -X PUT http:\/\/localhost:3000\/v1\/users\/1 -d \"name=Jane Doe&amp;email=janedoe@example.com\"<\/span><\/pre>\n<p><\/p>\n<p><b>Delete a user:<\/b><span style=\"font-weight: 400;\"><br><\/span><\/p>\n<pre><span style=\"font-weight: 400;\">curl -X DELETE http:\/\/localhost:3000\/v1\/users\/1<\/span><\/pre>\n<p><\/p>\n<h2><b>Conclusion<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Using Grape with Ruby on Rails provides a powerful combination for building RESTful APIs. Grape&#8217;s lightweight and flexible nature makes it easy to define and manage API endpoints, while Rails handles the underlying infrastructure. This example demonstrated a basic CRUD API for user management, showcasing how to set up and use Grape within a <a href=\"https:\/\/www.railscarma.com\/fr\/developpement-dapplications-de-rails-personnalises\/\">Application Rails<\/a>. With this foundation, you can extend the API to include more complex functionality and integrate it with other services.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articles Similaires<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Qu&#039;est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/quest-ce-que-offliberty-ruby-gem-et-comment-fonctionne-t-il\/?related_post_from=41304\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Offliberty Ruby Gem\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Qu&#039;est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/quest-ce-que-offliberty-ruby-gem-et-comment-fonctionne-t-il\/?related_post_from=41304\">\r\n        Qu'est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"M\u00e9thode Rails link_to : Le guide complet avec des exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/rails-link_to-method-the-complete-guide-with-examples\/?related_post_from=41296\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"M\u00e9thode Rails link_to\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"M\u00e9thode Rails link_to : Le guide complet avec des exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/rails-link_to-method-the-complete-guide-with-examples\/?related_post_from=41296\">\r\n        M\u00e9thode Rails link_to : Le guide complet avec des exemples  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/?related_post_from=41273\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Construire une plateforme SaaS avec Ruby on Rails\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/?related_post_from=41273\">\r\n        Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/?related_post_from=41249\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Ruby Regex Match\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/?related_post_from=41249\">\r\n        Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Dans le domaine du d\u00e9veloppement web, la cr\u00e9ation d'API RESTful est une n\u00e9cessit\u00e9 courante. Les API RESTful permettent \u00e0 diff\u00e9rents syst\u00e8mes de communiquer via HTTP de mani\u00e8re standardis\u00e9e, ce qui les rend indispensables aux applications web modernes. Ruby on Rails (RoR) fournit un cadre robuste pour le d\u00e9veloppement web, et avec l'ajout de Grape, un micro-cadre pour la cr\u00e9ation d'API, ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":5,"featured_media":37987,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1224],"tags":[],"class_list":["post-37978","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Building a RESTful API Using Grape in Ruby on Rails - RailsCarma<\/title>\n<meta name=\"description\" content=\"This article will guide you through the process of building a RESTful API using Grape in a Ruby on Rails application with an example.\" \/>\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.railscarma.com\/fr\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building a RESTful API Using Grape in Ruby on Rails - RailsCarma\" \/>\n<meta property=\"og:description\" content=\"This article will guide you through the process of building a RESTful API using Grape in a Ruby on Rails application with an example.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-11T05:22:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-11T05:22:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Building-a-RESTful-API-Using-Grape-in-Ruby-on-Rails.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nikhil\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nikhil\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\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.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/\"},\"author\":{\"name\":\"Nikhil\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c\"},\"headline\":\"Building a RESTful API Using Grape in Ruby on Rails\",\"datePublished\":\"2024-07-11T05:22:36+00:00\",\"dateModified\":\"2024-07-11T05:22:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/\"},\"wordCount\":445,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Building-a-RESTful-API-Using-Grape-in-Ruby-on-Rails.png\",\"articleSection\":[\"Blogs\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/\",\"name\":\"Building a RESTful API Using Grape in Ruby on Rails - RailsCarma\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Building-a-RESTful-API-Using-Grape-in-Ruby-on-Rails.png\",\"datePublished\":\"2024-07-11T05:22:36+00:00\",\"dateModified\":\"2024-07-11T05:22:40+00:00\",\"description\":\"This article will guide you through the process of building a RESTful API using Grape in a Ruby on Rails application with an example.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Building-a-RESTful-API-Using-Grape-in-Ruby-on-Rails.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Building-a-RESTful-API-Using-Grape-in-Ruby-on-Rails.png\",\"width\":800,\"height\":300,\"caption\":\"Building a RESTful API Using Grape in Ruby on Rails\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a RESTful API Using Grape in Ruby on Rails\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c\",\"name\":\"Nikhil\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g\",\"caption\":\"Nikhil\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Building a RESTful API Using Grape in Ruby on Rails - RailsCarma","description":"This article will guide you through the process of building a RESTful API using Grape in a Ruby on Rails application with an example.","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.railscarma.com\/fr\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/","og_locale":"fr_FR","og_type":"article","og_title":"Building a RESTful API Using Grape in Ruby on Rails - RailsCarma","og_description":"This article will guide you through the process of building a RESTful API using Grape in a Ruby on Rails application with an example.","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2024-07-11T05:22:36+00:00","article_modified_time":"2024-07-11T05:22:40+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Building-a-RESTful-API-Using-Grape-in-Ruby-on-Rails.png","type":"image\/png"}],"author":"Nikhil","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"\u00c9crit par":"Nikhil","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/"},"author":{"name":"Nikhil","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c"},"headline":"Building a RESTful API Using Grape in Ruby on Rails","datePublished":"2024-07-11T05:22:36+00:00","dateModified":"2024-07-11T05:22:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/"},"wordCount":445,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Building-a-RESTful-API-Using-Grape-in-Ruby-on-Rails.png","articleSection":["Blogs"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/","url":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/","name":"Building a RESTful API Using Grape in Ruby on Rails - RailsCarma","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Building-a-RESTful-API-Using-Grape-in-Ruby-on-Rails.png","datePublished":"2024-07-11T05:22:36+00:00","dateModified":"2024-07-11T05:22:40+00:00","description":"This article will guide you through the process of building a RESTful API using Grape in a Ruby on Rails application with an example.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Building-a-RESTful-API-Using-Grape-in-Ruby-on-Rails.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/07\/Building-a-RESTful-API-Using-Grape-in-Ruby-on-Rails.png","width":800,"height":300,"caption":"Building a RESTful API Using Grape in Ruby on Rails"},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/building-a-restful-api-using-grape-in-ruby-on-rails\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Building a RESTful API Using Grape in Ruby on Rails"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"RailsCarma est une soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails \u00e0 Bangalore. Nous sommes sp\u00e9cialis\u00e9s dans le d\u00e9veloppement offshore Ruby on Rails, bas\u00e9s aux \u00c9tats-Unis et en Inde. Embauchez des d\u00e9veloppeurs Ruby on Rails exp\u00e9riment\u00e9s pour une exp\u00e9rience Web ultime.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c","name":"Nikhil","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g","caption":"Nikhil"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/37978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/comments?post=37978"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/37978\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media\/37987"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=37978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=37978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=37978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}