读 RESTful Web Service 第三章

RESTful服务与S3客户端
读 RESTful Web Service 第三章

[b]Chapter3, What Makes RESTful Services Different?[/b]


Amazon的S3可以让我们以任何格式存储任何数据,并提供Ruby,Python,Java,C#,Perl等多种接口

S3基于两个概念:S3 “buckets”和S3“objects”。
object是命名的数据片段,bucket则是命名的object容器。

看看一个简单的S3 Client:
[code]
require 'S3lib'

bucket_name, object_name, object_value = ARGV
unless bucket_name
puts "Usage: #{$0} [bucket name] [object name] [object value]"
exit
end

buckets = S3::BucketList.new.get
bucket = buckets.detect { |b| b.name == bucket_name }
if bucket
puts "Found bucket #{bucket_name}."
else
puts "Could not find bucket #{bucket_name}, creating it."
bucket = S3::Bucket.new(bucket_name)
bucket.put
end

object = S3::Object.new(bucket, object_name)
object.metadata['content-type'] = 'text/plain'
object.value = object_value
object.put

bucket.get[0].each do |o|
puts "Name: #{o.name}"
puts "Value: #{o.value}"
puts "Metadata hash: #{o.metadata.inspect}"
puts
end
[/code]

如果是基于Rails构建的RESTful Web Service,则使用ActiveResource是非常明智的选择
同时也可以看到Rails的REST实现的convention是多么简洁明了,只需将数据库通过RESTful接口暴露出去即可
虽然现在没有太多遵循Rails的REST convention的Web Service,但是希望大家看到它的简洁性,一起来使用和完善它,因为WADL没有它简洁
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值