Ruby Sinatra实现的RESTful API示例

作者:佚名 上传时间:2023-03-21 运行软件:RubyMine 软件版本:Ruby 2.7.1, Sinatra 2.0.0 版权申诉

本文将提供一个使用Ruby Sinatra实现的RESTful API示例代码,同时也会进行代码释义和总结。

Sinatra编写的REST API代码

require 'sinatra'
require 'json'

users = []

# 获取所有用户
get '/users' do
  users.to_json
end

# 获取单个用户
get '/users/:id' do |id|
  user = users.find { |u| u[:id] == id.to_i }
  user.to_json
end

# 创建用户
post '/users' do
  user = JSON.parse(request.body.read, symbolize_names: true)
  user[:id] = users.size + 1
  users << user
  user.to_json
end

# 更新用户
put '/users/:id' do |id|
  user = users.find { |u| u[:id] == id.to_i }
  user.merge!(JSON.parse(request.body.read, symbolize_names: true))
  user.to_json
end

# 删除用户
delete '/users/:id' do |id|
  user = users.find { |u| u[:id] == id.to_i }
  users.delete(user)
end

示例代码

使用Postman或curl等工具,发送HTTP请求来模拟API的调用。

  • 获取所有用户
GET /users
  • 获取单个用户
GET /users/:id
  • 创建用户
POST /users
Content-Type: application/json

{
  "name": "John",
  "age": 30
}
  • 更新用户
PUT /users/:id
Content-Type: application/json

{
  "name": "John Doe",
  "age": 31
}
  • 删除用户
DELETE /users/:id
  1. 在Sinatra中,定义路由的方式为:HTTP方法 + 路径,例如:get '/users'
  2. request.body.read可以读取请求体的内容。
  3. JSON.parse可以将JSON字符串转换为Ruby对象。
  4. symbolize_names: true可以将JSON对象中的键转换为符号,方便在代码中使用。
  5. to_json可以将Ruby对象转换为JSON字符串。

本文提供了一个使用Ruby Sinatra实现的RESTful API示例代码,通过该示例,我们可以学习到如何使用Sinatra编写REST API,并对Sinatra中的路由、请求体解析、JSON对象转换等进行了简单的介绍。希望本文能对大家有所帮助。

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
Ruby SinatraRESTful API
本文将提供一个使用Ruby Sinatra实现的RESTful API示例代码,同时也会进行代码释义和总结。Sinatra编写的REST API代码require 'sinatra'requir
Ruby 2.7.1, Sinatra 2.0.0
RubyMine
2023-03-21 07:52
使用Ruby SinatraRESTful API
本示例演示了如何使用Ruby Sinatra框架实现RESTful API,并支持GET、POST、PUT和DELETE请求,使用JSON格式作为数据传输方式。require 'sinatra'r
Ruby 2.6.6,Sinatra 2.0.8
Ruby,Sinatra
2023-04-04 21:06
Ruby SinatraRESTful API简单
本示例演示如何使用Ruby的Sinatra框架创建一个基本的RESTful API。通过定义路由和处理器,实现对资源的创建、读取、更新和删除操作,展示Sinatra在轻量级Web应用开发中的灵活性。
Sinatra 2.1.0
Ruby 3.0.0
2023-12-01 06:35
Ruby SinatraRESTful API与解析
此示例展示了如何使用Ruby编程语言和Sinatra框架创建一个简单的RESTful API。它包括路由设置、HTTP请求处理、以及对GET、POST、PUT和DELETE请求的响应。require
Ruby 2.7+, Sinatra 2.1+
VS Code, RubyMine等
2023-11-09 01:22
Ruby SinatraRESTful API
使用Ruby Sinatra框架,利用HTTP请求实现RESTful API。require 'sinatra'require 'json'users = []# 获取用户列表get '
Ruby 2.7.1, Sinatra 2.1.0
Sinatra
2023-03-22 00:11
Ruby SinatraRESTful API
这是一段基于Ruby Sinatra框架的RESTful API示例代码,可以用于创建、读取、更新和删除资源。实现方式是通过Sinatra的路由和HTTP方法处理请求,并使用JSON格式传输数据。r
Sinatra 2.1.0
Ruby
2023-04-29 14:17
SinatraRESTful API
此示例展示了如何使用Sinatra轻松实现一个RESTful API。Sinatra是一个小型而灵活的Web应用程序框架,它使用Ruby语言编写,可以用于构建各种Web应用程序,包括API。requ
Sinatra 2.1.0
Ruby
2023-03-16 18:50
Ruby SinatraRESTful API及技术解答
这是一个展示如何使用Ruby和Sinatra框架创建RESTful API的示例。它演示了路由设置、请求处理、以及GET和POST请求的处理方式,利用Sinatra实现了简单的数据存储和获取。req
Sinatra 2.1.0
Ruby 2.7.2
2023-11-13 22:49
Ruby SinatraRESTful API与技术解答
Sinatra是一个简洁的Ruby Web框架,用于快速构建Web应用程序和API。通过Sinatra,可以轻松实现RESTful API,处理HTTP请求并提供相应数据。require 'sina
Sinatra 2.1.0
Ruby 2.7.4,Sinatra框架
2023-12-06 16:06
使用Ruby SinatraRESTful API
这个示例展示了如何使用Ruby Sinatra框架来实现一个RESTful API,支持GET,POST,PUT和DELETE四种HTTP请求方法,获得数据以JSON格式返回.require 'si
Ruby 2.6.3,Sinatra 2.0.5
Ruby
2023-03-18 02:07