读 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没有它简洁
[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没有它简洁
RESTful服务与S3客户端
2750

被折叠的 条评论
为什么被折叠?



