Как работает "пут" Синатры?

get в Sinatra отображается все, что вы хотите, когда вы вводите путь в URL. Я не put, Как вы звоните put?

Я пытаюсь бежать

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

Как я на самом деле это называю? Я ввожу в свой браузер:

http://localhost:4567/examplename\

но когда я читаю его в моем терминале (приглашение cmd), он пытается получить к нему доступ как get, Что мне не хватает в отношении того, как put работает?

2 ответа

Решение

put метод соответствует HTTP PUT запрос. Если вы делаете GETЭто то, что браузер делает по умолчанию, вы должны изменить это на:

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

Если вы говорите "как мне написать в браузер", то вам нужно это:

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

Не пишите вещи в STDOUT с putsпросто верните контент, который вы хотите отправить. Вот как работает Синатра.

Если вы хотите сделать PUT запрос, вы должны сказать своему инструменту, чтобы использовать этот метод. Например, с curl -X PUT,

Вы можете использовать Advanced REST Client Chrome Extension. Введите свой URL в поле URL, выберите PUT для глагола http и нажмите кнопку "Отправить". Вы получите результат в текстовой области Ответ.

Другие вопросы по тегам