Отправить HTTP-запрос на api в ruby

Я пытаюсь отправить почтовый запрос в другое приложение на моем локальном компьютере, используя обратный вызов after_create в моем файле модели.

Ошибка получения как # <Net :: HTTPBadRequest 400 Bad Request readbody = true>

require 'net/http'
def request_details
uri = URI('http://localhost:4000/api/v1/requests/new')
http = Net::HTTP.new(uri.host, uri.port)

req = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'})
req.body = {data1: self.data1, data2: self.data2,data3: self.data3,data4: self.data4}.to_json
response = http.request(req)
end

Пока я получаю это в журнале другого приложения:

Started POST "/api/v1/requests/new" for 127.0.0.1 at 2018-12-29 01:20:43 +0530

SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC

Кто-нибудь может понять, в чем проблема?

Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
1
0
92
1

Ответы 1

Я бы порекомендовал вам использовать драгоценный камень Клиент REST.

Установка

gem install rest-client

использование

require 'rest-client'
RestClient.post(url, payload, headers = {})

Пример

# with params
RestClient.post(
  'http://example.com/resource', 
  {param1: 'one', nested: {param2: 'two'}}
)

# with params and headers 
RestClient.post(
  "http://example.com/resource", 
  {'x' => 1}.to_json,
  {content_type: :json, accept: :json}
)

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