2

我正在用 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)。哪种方法会被认为是更好的做法?

4

1 回答 1

1

你在担心一些不值得担心的事情。让 URI 做它擅长和设计的事情:

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

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

继续做其他事情。

如果您需要操作从 URL 中提取的路径,请查看File 类中的split、和。他们以一种很好的标准化方式来做这件事。basenameextnamedirname

于 2013-06-07T17:46:47.417 回答