grape

grape

Gemfile中加


1
gem 'grape'

资源路径


/resources/:resource
/resources/:resource/:action


/users/1
/users/1/logout
路径嵌套
/users/1/posts/2/like

请求参数

  • header
  • param( queryparam pathparam fieldparam)
1
2
3
4
params do
requires :year, type: Integer
optional :month, type: String, default: 'may'
end

相应

资源的表述方式


+ json
+ xml

1
format :json


标准时间戳

响应码


200 :get请求完成
201 :post,put,delete请求完成
202 :post,delete,请求提交成功,稍后将异步的进行处理
400 :bad request请求无效,请求参数包含错误
401 :unauthorized请求无效,因为用户没有进行认证
403 :forbidden请求无效,因为用户被认定没有访问特定资源的权限
429 :too many requests,请求频率超配,稍后再试
500 :internal server error,服务器出错了,检查网站的状态,或者报告的问题

错误信息

例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class User::API < Grape::API
format :json

resources ':users' do
get 'test' do
data = {
:time => Time.new,
:ip => request.ip,
}
present data
end

resources ':user_id' do
get do
data = {
:users => params[:users],
:user_id => params[:user_id],
:time => Time.new,
:ip => request.ip,
}
present data
end

params do
requires :year, type: Integer
optional :month, type: String, default: 'may'

end
get 'logout' do
data = {
:year => params[:year],
:month => params[:month],
:type => 'get',
:time => Time.new,
:ip => request.ip,

}
present data
end
post 'logout' do
data = {
:day => params[:day],
:app_version => headers['App-Version'],
:token => headers['Token'],
:type => 'post',
:users => params[:users],
:user_id => params[:user_id],
:time => Time.new,
:ip => request.ip,
}
present data
end
end
end



end

文章目录
  1. 1. Gemfile中加
  2. 2. 资源路径
  3. 3. 请求参数
  4. 4. 相应
    1. 4.1. 资源的表述方式
    2. 4.2. 标准时间戳
    3. 4.3. 响应码
    4. 4.4. 错误信息
|