Sinatra 的 put 是如何工作的?

How does Sinatra's `put` work?

当您在 URL 中键入路径时,Sinatra 中的

get 会显示您想要的任何内容。我不 put。你怎么称呼put

我正在尝试 运行

put '/:name' do |name|
  puts "hello " + name
end

我怎么称呼它?我在浏览器中输入:

http://localhost:4567/examplename\

但是当我在终端(cmd 提示符)中读取它时,它会尝试以 get 的身份访问它。关于 put 的工作原理,我缺少什么?

put 方法对应于 HTTP PUT 请求。如果您正在制作 GET,这是浏览器默认执行的操作,您应该将其更改为:

get '/:name' do |name|
  # ...
end

如果你在谈论 "how do I write to the browser" 那么你需要这个:

get '/:name' do |name|
  "hello #{name}"
end

不要使用 puts 将内容写入 STDOUT,只需 return 您要发送的内容即可。这就是 Sinatra 的工作原理。

如果您想发出 PUT 请求,您需要告诉您的工具使用该方法。例如,curl -X PUT.

您可以使用高级 REST 客户端 Chrome 扩展。在 URL 字段中输入您的 URL,为 http 动词输入 select PUT,然后单击发送按钮。您将在响应文本区域中得到结果。