REST Client学习笔记

路金鑫
2023-12-01

    学习资料:
       
https://github.com/rest-client/rest-client
       http://rdoc.info/github/rest-client/rest-client/index

    安装:

gem install rest-client

    目前的需求是,想测试一下之前用Sinatra搭的超~简单的web应用能否正常运行,主要就是post和get两个方法。在网上搜到了restclient,文档详尽,简单易上手。

get方法:

require 'rest-client'
url = "http://localhost:4567/test1"
#params in request body 
response = RestClient.get url,
  :params => {
  :id => 3,
  :name => Tom
 }
print response.headers
print response.to_str


post方法除了RestClient.post之外,也能用:

require 'rest-client'
#use resources to share common headers
site = RestClient::Resource.new('http://localhost:4567/test2',
  :headers => { 
  :Authorization => 'XXXXXX'
 })
site.post :image => File.new("img.jpg", 'rb'), 
 :category => "food",
 :price => 32.33

服务器端代码:

require 'sinatra'
post '/test2' do
 # get params in request body
 image = params['image'][:tempfile].read
 f = File.new('img.jpg', 'w')
 f.puts image
 f.close
 category = request["category"]
 price = request["price"]
 …………
end

get '/test1'do
 # get params in request body
 id = request["id"]
 name = request["name"]
 …………
end
 类似资料: