Ruby получить данные запроса GET - PullRequest
1 голос
/ 19 февраля 2020

Я создаю конечные точки API, и у меня возникают проблемы с получением тела запроса. Вот что у меня есть:

В моих маршрутах я установил конечную точку в своем пространстве имен:

namespace :api, :defaults => {:format => :json}  do
    resources :mainview do
        collection do
            get 'data'
        end
    end

В своем интерфейсе я вызываю конечную точку / api / mainview / data и передаю это в дате внутри json:

axios.get('/api/mainview/data', {"start_date":"2020-01-01"})
    .then(response => {
      console.log(response)
    })
    .catch(error => {
      console.log("We are getting this error:")
      console.log(error)
    });

И затем, в моем файле /api/mainview_controller.rb, я получил

module Api
    class MainviewController < AuthenticatedController
        def data
            puts "We are in the data function"
            #I want to print the body ({"start_date":"2020-01-01"}) of the request here 
        end
    end
end

Так что в этом случае мой Вызов API, похоже, работает, так как We are in the data function выводится на терминал. Однако я не знаю, как получить тело или данные из запроса. Если это почтовый запрос, я знаю, что могу использовать request.raw_post, но я не знаю, что использовать для запросов GET. Большинство ответов, которые я нашел в Интернете, даны PHP, поэтому любая помощь будет отличной!

1 Ответ

0 голосов
/ 20 февраля 2020

Вы должны обработать ответ через Rails, и вы должны фактически создать вывод в ответе, прежде чем Rails упакует его и отправит обратно.

def data
  render json: { 
      start_date: params[:start_date] 
    }
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...