LITVINOV
VIP user
Адміністратор
			
				
				
	
		
			
		
		
			
		
	
			
		- 27 Гру 2023
- 179
- 90
- Автор теми
- Адміністратор
- Модератор
- #1
Створення RESTful API на Rails
REST (Representational State Transfer) - це архітектурний стиль, який використовують для побудови масштабованих веб-сервісів. Rails чудово підтримує RESTful підхід, що робить створення API простим та ефективним.
Крок 1: Встановлення Rails
Спершу потрібно переконатися, що у вас встановлено Rails. Якщо ні, то виконайте команду:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Крок 2: Створення нового Rails проекту
Створіть новий проект:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Крок 3: Створення моделі та міграції
Припустимо, ми хочемо створити API для управління книгами. Створимо модель Book:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Крок 4: Створення контролера
Тепер створимо контролер, який буде обробляти запити до нашого API:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Крок 5: Налаштування маршрутизації
Відкрийте файл
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Крок 6: Реалізація дій у контролері
Відкрийте файл
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Використання бібліотеки Grape для створення API
Grape - це легка бібліотека для створення API на Ruby. Вона забезпечує чіткий синтаксис і багатий набір можливостей для побудови RESTful API.
Крок 1: Додавання Grape до проекту
Додайте Grape до вашого Gemfile:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Виконайте команду
Крок 2: Створення API за допомогою Grape
Створимо новий файл для нашого API:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Крок 3: Реалізація API за допомогою Grape
Відкрийте файл
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Крок 4: Підключення Grape API до Rails
Відкрийте файл
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Висновок
У цій статті ми розглянули, як створити RESTful API на Rails і як використовувати бібліотеку Grape для створення API. Обидва підходи мають свої переваги і можуть бути використані в залежності від потреб вашого проекту. Rails надає простий і інтегрований спосіб створення API, тоді як Grape забезпечує більшу гнучкість і легкість у використанні для побудови RESTful сервісів.
	
		
			
		
		
	
			
			REST (Representational State Transfer) - це архітектурний стиль, який використовують для побудови масштабованих веб-сервісів. Rails чудово підтримує RESTful підхід, що робить створення API простим та ефективним.
Крок 1: Встановлення Rails
Спершу потрібно переконатися, що у вас встановлено Rails. Якщо ні, то виконайте команду:
			
				Bash:
			
		
		
		gem install railsКрок 2: Створення нового Rails проекту
Створіть новий проект:
			
				Bash:
			
		
		
		rails new my_api
cd my_apiКрок 3: Створення моделі та міграції
Припустимо, ми хочемо створити API для управління книгами. Створимо модель Book:
			
				Bash:
			
		
		
		rails generate model Book title:string author:string description:text
rails db:migrateКрок 4: Створення контролера
Тепер створимо контролер, який буде обробляти запити до нашого API:
			
				Bash:
			
		
		
		rails generate controller Api::V1::BooksКрок 5: Налаштування маршрутизації
Відкрийте файл
config/routes.rb і додайте наступні маршрути:
			
				Ruby:
			
		
		
		namespace :api do
  namespace :v1 do
    resources :books
  end
endКрок 6: Реалізація дій у контролері
Відкрийте файл
app/controllers/api/v1/books_controller.rb і додайте наступний код:
			
				Ruby:
			
		
		
		module Api
  module V1
    class BooksController < ApplicationController
      before_action :set_book, only: [:show, :update, :destroy]
      def index
        @books = Book.all
        render json: @books
      end
      def show
        render json: @book
      end
      def create
        @book = Book.new(book_params)
        if @book.save
          render json: @book, status: :created
        else
          render json: @book.errors, status: :unprocessable_entity
        end
      end
      def update
        if @book.update(book_params)
          render json: @book
        else
          render json: @book.errors, status: :unprocessable_entity
        end
      end
      def destroy
        @book.destroy
        head :no_content
      end
      private
      def set_book
        @book = Book.find(params[:id])
      end
      def book_params
        params.require(:book).permit(:title, :author, :description)
      end
    end
  end
endВикористання бібліотеки Grape для створення API
Grape - це легка бібліотека для створення API на Ruby. Вона забезпечує чіткий синтаксис і багатий набір можливостей для побудови RESTful API.
Крок 1: Додавання Grape до проекту
Додайте Grape до вашого Gemfile:
			
				Ruby:
			
		
		
		gem 'grape'Виконайте команду
bundle install для встановлення бібліотеки.Крок 2: Створення API за допомогою Grape
Створимо новий файл для нашого API:
			
				Bash:
			
		
		
		mkdir app/api
touch app/api/books_api.rbКрок 3: Реалізація API за допомогою Grape
Відкрийте файл
app/api/books_api.rb і додайте наступний код:
			
				Ruby:
			
		
		
		module BooksAPI
  class API < Grape::API
    format :json
    resource :books do
      desc 'Return list of books'
      get do
        Book.all
      end
      desc 'Return a book'
      params do
        requires :id, type: Integer, desc: 'Book ID'
      end
      route_param :id do
        get do
          Book.find(params[:id])
        end
      end
      desc 'Create a book'
      params do
        requires :title, type: String
        requires :author, type: String
        optional :description, type: String
      end
      post do
        Book.create({
          title: params[:title],
          author: params[:author],
          description: params[:description]
        })
      end
      desc 'Update a book'
      params do
        requires :id, type: Integer
        optional :title, type: String
        optional :author, type: String
        optional :description, type: String
      end
      put ':id' do
        book = Book.find(params[:id])
        book.update({
          title: params[:title],
          author: params[:author],
          description: params[:description]
        })
        book
      end
      desc 'Delete a book'
      params do
        requires :id, type: Integer
      end
      delete ':id' do
        Book.find(params[:id]).destroy
      end
    end
  end
endКрок 4: Підключення Grape API до Rails
Відкрийте файл
config/routes.rb і додайте наступний код:
			
				Ruby:
			
		
		
		mount BooksAPI::API => '/api'Висновок
У цій статті ми розглянули, як створити RESTful API на Rails і як використовувати бібліотеку Grape для створення API. Обидва підходи мають свої переваги і можуть бути використані в залежності від потреб вашого проекту. Rails надає простий і інтегрований спосіб створення API, тоді як Grape забезпечує більшу гнучкість і легкість у використанні для побудови RESTful сервісів.