такая задача, spring boot maven
Цель
Передача в МП набора доступных баннеров для показа пользователю

Адрес
URL
GET /api/v1/banners

Запрос
Authorization: token
Content-Type: application/json


Заголовок





applicationVersion	string	1.11	Нет	Версия мобильного приложения в формате <номер ядра>.<номер версии>
mobileOs	string	Android/iOS	Нет	Операционная система устройства пользователя


Параметры
Нет

Ответ
Массив баннеров с их параметрами 

Параметры ответа





success	Cтрока	true,false	О	статус ответа
bannerId	number	1	О	Идентификатор баннера
type	Cтрока	FULLSCREEN, PRODUCT	О	Тип баннера
location	Cтрока	card-section	О	Расположение баннера в МП
viewParams	Cтрока	{...}	О	
Параметры отображения баннера

->header	Cтрока	
О	
Текстовый заголовок баннера

->text	Cтрока	
НО	
Текст баннера (не более 56 символов для типа PRODUCT)

->showtime	number	10	НО	
Длительность показа до автоматического скрытия (в секундах)

->navigationLink	Cтрока	cifra://tariff-change	НО	Ссылка для перехода внутри приложения или во внешний браузер при клике на баннер
->inlineWebLink	Cтрока	https://cifra-bank.ru	НО	Ссылка для перехода в web-view при клике на баннер
->isUncloseable	boolean	true	НО	Признак, определяющий можно ли баннер закрывать (true - нельзя, false - можно)
imageData	Cтрока	"/9j/4AAQSkZJRgABAQAASABIAAD...18Z+u6k+ZfZ/EfJD+b8D//2Q=="	НО	Файл изображения баннера в формате png. Обязательно для типа GRAPHIC
productId	Cтрока	685445	НО	Код связанного продукта
Успешный ответ
HTTP 200

Ответ передается инициатору синхронно

"success": true

"content":

[
{
"bannerId": 1,
"type": "FULLSCREEN",
"location": "ONBOARDING",
"isUncloseable": true,
"viewParams": {

"title": "Оцените возможности oila",
"imageData": "",
"description": "Описание первого баннера",
"showtime": 10000
},

{

"bannerId": 2,

type": "FULLSCREEN",
"location": "ONBOARDING",
"viewParams":{
"title": "Снятие наличных в кассах и банкоматах",
"imageData": "",
"description": "Описание второго баннера",
"showtime": 10000
},
{
"bannerId": 3,

type": "FULLSCREEN",
"location": "ONBOARDING",
"viewParams":{
"title": "Проценты на остаток по карте",
"imageData": "",
"description": "Описание второго баннера",
"showtime": 10000
},

{

"bannerId": 4,

type": "FULLSCREEN",
"location": "ONBOARDING",
"viewParams":{

"title": "Комиссии по операциям",
"imageData": "",
"description": "Описание второго баннера",
"showtime": 10000
},




{
"bannerId": 5,

type": "FULLSCREEN",
"location": "ONBOARDING",
"viewParams":{
"title": "Карта oila для яркой жизни",
"imageData": "",
"description": "Это последний баннер, который будет показан.",
"showtime": 10000,
"buttons": [
{
"id": 1,
"title": "выбрать и оформить",
"navigationLink": ""
}

{
"bannerId": 6,
"type": "PRODUCT",
"location": "main",
"isUncloseable": true,
"viewParams": {
"id": 1,
"title": "выбрать тариф",
"imageData": "",
"description": "банер тарифа",

"navigationLink": ""

},

{
"bannerId": 7,
"type": "PRODUCT",
"location": "main",
"isUncloseable": true,
"viewParams": {
"id": 1,
"title": "тариф BLACK" ,
"imageData": "",
"description": "тариф BLACK",

"navigationLink": ""

},


]





Неуспешный ответ
Ответ передается инициатору синхронно.

{

"success":false,
    "errorMessage": "Invalid request"
}