Files
my-blog-posts/flight-service/index.md
2026-02-23 12:24:29 +03:00

4.3 KiB
Raw Blame History

Flight Service

HTTP API

Регистрация нового пользователя


PUT /api/users HTTP/1.1
Accept: application/json
Request Example
{
  "first_name": "Ivan",
  "last_name": "Ivanov",
  "age": 25
}
Response Example
{
  "id": 1,
  "first_name": "Ivan",
  "last_name": "Ivanov",
  "age": 25
}

Получение пользователя


GET /api/users/{id} HTTP/1.1
Accept: application/json
Response Example
{
  "id": 1,
  "first_name": "Ivan",
  "last_name": "Ivanov",
  "age": 25
}

Получение информации о самолете


POST /api/airplane/{id} HTTP/1.1
Accept: application/json
Response Example
{
  "id": 1,
  "name": "Airplane #1",
  "max_passengers": 115,
  "max_cargo_weight": 7350
}

Список всех самолетов


GET /api/airplane HTTP/1.1
Accept: application/json
Query Parameters
Name Default value Description
page 0 Страница
Response Example
[
  {
    "id": 1,
    "name": "Airplane #1",
    "max_passengers": 115,
    "max_cargo_weight": 7350
  },
  ...
]

Получение информации об аэропорте


GET /api/airport/{id} HTTP/1.1
Accept: application/json
Response Example
{
  "id": 32,
  "Name": "Airport #32",
  "longitude": 47.488425,
  "latitude": 39.929261
}

Список всех аэропортов


GET /api/airport HTTP/1.1
Accept: application/json
Query Parameters
Name Default value Description
page 0 Страница
Response Example
[
  {
    "id": 32,
    "Name": "Airport #32",
    "longitude": 47.488425,
    "latitude": 39.929261
  },
  ...
]

Создание нового рейса


POST /api/flight HTTP/1.1
Accept: application/json
Request Example
{
  "departure_airport": 12,
  "arrival_airport": 15,
  "airplane": 3,
  "departure_timestamp": 1771834281934
}
Response Example
{
  "id": 1,
  "departure_airport": {
    "id": 12,
    "Name": "Airport #12",
    "longitude": 47.488425,
    "latitude": 39.929261
  },
  "arrival_airport": {
    "id": 15,
    "Name": "Airport #15",
    "longitude": 47.488425,
    "latitude": 39.929261
  },
  "airplane": {
    "id": 3,
    "name": "Airplane #3",
    "max_passengers": 115,
    "max_cargo_weight": 7350
  },
  "departure_timestamp": 1771834281934,
  "passengers": []
}

Получение информации о рейсе


GET /api/flight/{id} HTTP/1.1
Accept: application/json
Response Example
{
  "id": 1,
  "departure_airport": {
    "id": 12,
    "Name": "Airport #12",
    "longitude": 47.488425,
    "latitude": 39.929261
  },
  "arrival_airport": {
    "id": 15,
    "Name": "Airport #15",
    "longitude": 47.488425,
    "latitude": 39.929261
  },
  "airplane": {
    "id": 3,
    "name": "Airplane #3",
    "max_passengers": 115,
    "max_cargo_weight": 7350
  },
  "departure_timestamp": 1771834281934,
  "passengers": [
    {
      "id": 1,
      "first_name": "Ivan",
      "last_name": "Ivanov",
      "age": 25
    },
    ...
  ]
}

Регистрация пассажира на рейс


POST /api/flight/register HTTP/1.1
Request Example
{
  "flight_id": 1,
  "user_id": 3
}