TrackingController class
Введение
- Описание: Контроллер
TrackingControllerсохраняет местоположение водителя в hasura. - Маршруты: Обрабатываются POST-запрос по маршруту
/tracking/addList.
Формат запроса
Тело запроса: JSON-объект, содержащий идентификатор пользователя.
{
Body: {
"locations": [
{"lat": 1, "lng": 1, "time": "2018-01-01T12:01:01.123Z"},
{"lat": 2, "lng": 2, "time": "2018-01-01T12:01:01.123Z"}
]
},
Headers:
Authorization: Bearer XXX YYY ZZZ
}
Валидация и преобразование данных
- Преобразовывает JSON в List<TrackPoint> .
- Проверка токена авторизации Bearer в headers.
Основная логика
- Производится валидация.
- Добавление списка TrackPoint: в таблицу track_point в Hasura добавляется список координат водителей.
Взаимодействие с микросервисами
- Hasura: добавление списка координат.
Ответы сервера
- Успешное добавление координат: Ожидаемый статус -
200 OK. - Ошибка авторизации: Ожидаемый статус -
401 unauthorized. - Внутренние ошибки: Ожидаемый статус -
500 internalServerError.
- Inheritance
-
- Object
- Controller
- TrackingController
Constructors
Properties
- endpoint ↔ String
-
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- repository → TrackingRepository
-
final
- request ↔ Request
-
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
call(
Request request) → FutureOr< Response> -
inherited
-
handler(
) → Future< Response> -
Must be implemented
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
requestAsJson(
) → Future -
Reads request value and parse as json
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited