Coder Social home page Coder Social logo

active-model-serializer's Introduction

Active Model Serializer

Demonstrates Model Serializing for rails APIs differentiated by versions.

Description

The project have been implemented to serve versioned APIs in ruby on rails framework. It serves serialize data objects over the network by active_model_serializers gem.

Install

To setup project locally, follow below instructions.

Project Configuration

Have ruby version ruby-2.7.1 installed as mentioned in Gemfile.

Install necessary dependencies.

# install dependencies mentioned in Gemfile
$ bundle install

# verification of already installed files in node_modules
$ yarn install --check-files

Database Setup

Create and Initialize database.

# migration of database
$ rails db:migrate

# initialization of database with data
# defined in seed file
$ rails db:seed

Starting the server

To start the server on localhost run the command below. The server will start on default port 3000.

$ rails s

Examples

For different API versions, there would be different serializers being used implicitly. For which the output of some API endpoints are given below.

Employee

For http://localhost:3000/v1/employees

{
  "data":[
    {
      "id":1,
      "name":"Carley Lindgren",
      "email":"[email protected]",
      "designation":"voluptas",
      "manager":{
        "id":12,
        "name":"Bethel Sanford"
      }
    }
  ],
  "message":[
    "Employee list fetched successfully"
  ],
  "status":200,
  "type":"Success"
}

For http://localhost:3000/v2/employees

{
  "data":[
    {
      "id":1,
      "name":"Carley Lindgren"
    }
  ],
  "message":[
    "Employee list fetched successfully"
  ],
  "status":200,
  "type":"Success"
}

Manager

For http://localhost:3000/v1/managers

{
  "data":[
    {
      "id":1,
      "name":"Brandy Hahn PhD",
      "employees":[
        {
          "id":15,
          "name":"Louis Bayer",
          "email":"[email protected]",
          "designation":"non"
        },
        {
          "id":35,
          "name":"Stephnie Cronin PhD",
          "email":"[email protected]",
          "designation":"hic"
        }
      ]
    }
  ],
  "message":[
    "Manager list fetched successfully"
  ],
  "status":200,
  "type":"Success"
}

For http://localhost:3000/v2/managers

{
  "data":[
    {
      "id":1,
      "name":"Brandy Hahn PhD",
      "employees":[
        {
          "id":15,
          "name":"Louis Bayer"
        },
        {
          "id":35,
          "name":"Stephnie Cronin PhD"
        }
      ]
    }
  ],
  "message":[
    "Manager list fetched successfully"
  ],
  "status":200,
  "type":"Success"
}

active-model-serializer's People

Contributors

bhavik2936 avatar

Watchers

 avatar

Forkers

jorgeluizetibr

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.