Java, отправить POST-запрос с несколькими данными и проанализировать JSON-ответ с помощью Gson - PullRequest
0 голосов
/ 29 ноября 2018

Мне нужна помощь со следующим

Задача: Отправить POST-запрос на https://test.example.com/booking/ (ссылка поддельная, только для примера) Запрос содержит:

• Заголовок:

Content-Type: application/json

• Тело:

{
  "segments": [
    {
      "brand": "EL",
      "flight_number": "0149",
      "booking_class": "N",
      "departure_date": "2018-11-28 01:50",
      "destination": "PRG",
      "origin": "BCN",
      "marriage_group": "",
      "airline_code": "TS"
    }
  ],
  "passengers": [
    {
      "pax_type": "ADULT",
      "first_name": "ADULT",
      "patronymic": "",
      "last_name": "TEST",
      "birthdate": "1980-01-03",
      "sex": "M",
      "nationality": "EE",
      "doc_type": "PASSPORT",
      "doc_country": "EE",
      "doc_expiration": "2020-01-01",
      "doc_number": "123654789",
      "loyalty_program": "TS",
      "loyalty_id": "",
      "special_services": [],
      "is_fan": false,
      "fan_id": null
    }
  ],
  "country": "EE",
  "phone": "7123654789",
  "email": "test@test.ee",
  "email_lang": "en",
  "lang": "en",
  "coupon_codes": [],
  "extra": {},
  "client": {
    "ga_client_id": "",
    "loyalty_id": ""
  }
}

В качестве ответа я получу:

{
    "data": {
        "payment_url": "https://test.example.com/booking/roduct=SBWEB&PNR=DXZZLX&language=EE&sign=5a0882c1996e926ae46fcb8c595dd749",
        "pnr_key": "73fa087e0d7490fd2c11ef362a2c00ac37878bf7d49416915f3f2d60b4edc7d267747886cc4084590b1673c65368f38a6a6ad0cde856d688d1d7aa784d42f3c0",
        "pnr_locator": "DXZZLX"
    },
    "error": null,
    "success": true
}

Из ответа мне нужно только "pnr_locator ":" DXZZLX "

Вопросы:

1. Я видел много тем о stackoverflow, но большинство из них было опубликовано 4 и болеемного лет назад.С тех пор было опубликовано множество обновлений и полезных библиотек, поэтому я был бы признателен, если кто-то поделится с ними современными ссылками или советами.Например, как я понимаю, для своей задачи я должен использовать OkHttp (для соединения) с Gson (для анализа Json), это правильно?

2. Сколько классов мне нужносоздать для этой задачи?Нужно ли использовать сериализацию для этого случая?

...