我在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)。哪种方法被认为是更好的做法?
答案 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类中的split
,basename
,extname
和dirname
。他们以一种很好的标准化方式做到了。