将基本URL之后的路径作为URI或字符串的实例处理是否更好?

时间:2013-06-07 16:45:01

标签: ruby http rest uri

我在Ruby中实现REST客户端,并将基本URL视为URI的实例。对于基本URL之后的路径,我不确定是将其视为URI实例还是字符串。

接近A

base_url = URI("http://www.foo.com")
path = URI("/someaction")

方法B

base_url = URI("http://www.foo.com")
path = "/someaction"

使用上述两种方法,我打算在发出请求之前调用URI.join(base_url,path)。哪种方法被认为是更好的做法?

1 个答案:

答案 0 :(得分:1)

你担心一些不值得担心的事情。让URI做它擅长的并且设计用于:

base_url = URI("http://www.foo.com")
base_url.path = "/someaction"

base_url
=> #<URI::HTTP:0x00000102079d58 URL:http://www.foo.com/someaction>

继续前进。

如果您需要操作从网址中提取的路径,请查看File类中的splitbasenameextnamedirname。他们以一种很好的标准化方式做到了。