美文网首页ruby
用ruby写api mock server 演示教程

用ruby写api mock server 演示教程

作者: 6593443e12c1 | 来源:发表于2017-03-30 10:20 被阅读18次

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文件更改时,会重新加载代码,所以演示时候会发起重复的请求。

相关文章

网友评论

    本文标题:用ruby写api mock server 演示教程

    本文链接:https://www.haomeiwen.com/subject/qnyuottx.html