Правильно отформатированная полезная нагрузка тела с HTTParty

Путем

@city_numbers = [20142]
@check_in = (Date.today + 25.days).strftime("%Y-%m-%d")
@start = %Q|{ 
  "requestAuditInfo": 
    { "agentCode": "10019", 
      "requestPassword": "passsss",
      "requestDateTime":\"#{Time.now.utc.iso8601}\",  
      "requestID": 1    }, 
  "hotelSearchCriteria": {  
    "destination": {  
      "cityNumbers": #{@city_numbers}
      },  
    "stayPeriod": {  
      "checkinDate": \"#{@check_in}\",  
      "numberOfNights": 1  },  
    "rooms": [   {"roomNo": 1, "guests":[{"type": "ADT"},{"type": "ADT"}]}  ],  
    "languageCode": "en",  
    "currencyCode": "EUR",  
    "paxNationality": "IT",
    "resultDetails" : {
      "returnDailyPrices" : true, 
      "returnHotelInfo":1,
      "returnSpecialOfferDetails":1}
    }, 
  "versionNumber": "1.0"}|

запросив JSON.parse (@start) , вы получите строку deisred в качестве полезной нагрузки для тела транзакции HTTParty:

{"requestAuditInfo"=>{"agentCode"=>"10019", "requestPassword"=>"passsss", "requestDateTime"=>"2018-07-29T12:01:47Z", "requestID"=>1}, "hotelSearchCriteria"=>{"destination"=>{"cityNumbers"=>[20142]}, "stayPeriod"=>{"checkinDate"=>"2018-08-23", "numberOfNights"=>1}, "rooms"=>[{"roomNo"=>1, "guests"=>[{"type"=>"ADT"}, {"type"=>"ADT"}]}], "languageCode"=>"en", "currencyCode"=>"EUR", "paxNationality"=>"IT", "resultDetails"=>{"returnDailyPrices"=>true, "returnHotelInfo"=>1, "returnSpecialOfferDetails"=>1}}, "versionNumber"=>"1.0"}

Однако я не могу получить правильный синтаксис, чтобы HTTParty выдавал приемлемую строку в теле ( мне еще предстоит найти инструменты отладки, чтобы понять, что отправляется ) на сервер API. Вызов был протестирован как через CLI, так и через HTTParty.post со статическими данными.

@result = HTTParty.post(
  'https://test.co.uk/search', 
  :body => JSON.parse(@start),
  headers: {
    'Content-Type' => 'application/json', 
    'Accept' => 'application/json',
    'Connection' => 'Keep-Alive'
  }
)

примечание: блок заголовков может казаться неуклюжим (без ракеты), но это было проверено с использованием более старого и нового синтаксиса из-за строгости ... оба работают

Как это должно быть написано (или предложили лучшую альтернативу, например, файл JSON)?

0
de
тело должно быть json не рубиновым хешем.
добавлено автор Зелёный, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

pro.ruby
pro.ruby
1 181 участник(ов)

Язык программирования Ruby Additional docs: https://rubyreferences.github.io/rubyref/ Invite: https://telegram.me/joinchat/Be4rsT2NuB3CyJaF26j1kA Кто хочет компилировать: @crystal_ru (его синтаксис основан на Ruby) Участник @proDOT

Ruby, Rails, Hanami | dry-rb
Ruby, Rails, Hanami | dry-rb
1 180 участник(ов)

https://telegram.me/rubyjob - Ruby Job По вопросам - @eugene_shved

Ruby School .us
Ruby School .us
1 045 участник(ов)

Чат-болталка для учеников руби-школы и не только. Правила: https://telegra.ph/Pravila-chata-Rubi-shkoly-03-13

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

Random Ruby Chat
Random Ruby Chat
589 участник(ов)

Правила публикации вакансий: https://t.me/codenamecrud/60865

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском

Rubyata
Rubyata
333 участник(ов)

Коммюнити Ruby и Ruby On Rails Флуд не приветствуются. Вакансии можно публиковать только и ТОЛЬКО по пятницам с хештегом #вакансия.

Ruby Talks
Ruby Talks
236 участник(ов)

Национальная Флеймотека

RubyRush
RubyRush
189 участник(ов)

rubyrush.ru программирование для самых новичков

Rails Chat
Rails Chat
87 участник(ов)

You are welcome to discuss Ruby On Rails development process and other stuff