ruby

用ruby写api mock server 演示教程

2017-03-30  本文已影响18人  6593443e12c1

1. 安装环境

  1. 安装ruby
    参考 安装ruby

  2. 安装bundler

gem install bundler

2. 新建工程

cd ~
git clone https://github.com/watsy0007/api_template.git
cd api_template
bundler install

3. 演示代码

asciinema官网上查看 api mock server

4 最终代码

app.rb

require 'sinatra'
require 'sinatra/reloader'
require 'json'

def data(file_name)
  JSON.parse(File.open('./data/' + file_name + '.json').read)
end

def json(data = {}, code = 200)
  status code
  data.to_json
end

get '/' do
  'hello world'
end

users = data('users')

get '/users' do
  json users
end

get '/users/:id' do
  user = users.find do |item|
    item['id'] == params['id'].to_i
  end
  json user
end

post '/users' do
  user = {}
  user['id'] = users.last['id'] + 1
  user['name'] = params['name']
  users << user
  json user, 201
end

delete '/users/:id' do
  delete_users = users.delete_if do |item|
    item['id'] == params['id'].to_i
  end
  json delete_users
end

5. 注意

因为使用了sinatra-reloader,当app.rb文件更改时,会重新加载代码,所以演示时候会发起重复的请求。

上一篇 下一篇

猜你喜欢

热点阅读