Английский | Китайский
spring boot demo
— это проект для изучения и практики spring boot
, включающий в себя 58
демонстрационных примеров, из которых 48
выполнены. Этот проект интегрирован с актюэйтором (мониторинг
), админ (визуальный мониторинг
), logback (журнал
), aopLog (запись журналов веб-запросов через AOP
), глобальным обработанием исключений (уровень JSON и уровень страницы
), freemarker (механизм шаблонов
), thymeleaf (механизм шаблонов
), Beetl (механизм шаблонов
), Enjoy (механизм шаблонов
), JdbcTemplate (общие операции JDBC с базой данных
), JPA (мощный фреймворк ORM
), mybatis (мощный фреймворк ORM
), Generic Mapper (быстрые операции mybatis
), PageHelper (мощный плагин пагинации mybatis
), mybatis-plus (быстрые операции mybatis
), BeetlSQL (мощный фреймворк ORM
), загрузкой (локальная загрузка файлов и загрузка файлов в облаке Qiniu
), redis (кэш
), ehcache (кэш
), электронной почтой (отправка различных типов электронной почты
), задачами (основные расписание задач
), quartz (динамическое управление расписанием задач
), xxl-job (распределенное расписание задач
), swagger (управление и тестирование API-интерфейсов
), безопасностью (RBAC-основанная динамическая аутентификация прав
), SpringSession (общий сеанс
), Zookeeper (реализация распределенных блокировок через AOP
), RabbitMQ (очередь сообщений
), Kafka (очередь сообщений
), websocket (сервер отправляет статус мониторинга сервера на фронтенд
), socket.io (чат-комната
), ureport2 (китайский отчет
), упакован в файл war
, интегрирован с ElasticSearch (базовые операции и продвинутые запросы
), Async (асинхронные задачи
), интегрирован с Dubbo (с официальным стартером
), MongoDB (база данных документов
), Neo4j (база данных графов
), Docker (контейнер
), JPA Multi-Datasource
, Mybatis Multi-Datasource
, генератор кода
, GrayLog (собирает журналы
), JustAuth (авторизация третьих сторон
), LDAP (CRUD
). > Если у вас есть демонстрационные материалы для вклада или требования к выполнению, очень приветствуется отправка issues, и я добавлю это в мой список TODO.## Спонсоры2.1.0.RELEASE
. Родительская зависимость каждого модуля находится в файле pom.xml в корневой директории для удобства управления общими зависимостями и изучения Spring Boot.1.5.8.RELEASE
. Родительская зависимость каждого модуля находится в spring-boot-demo-parent. Однако, учитывая отзывы, что эта ветка не очень удобна для многих новых пользователей, поддержка этой ветки прекращена. Все демонстрационные материалы будут перенесены в ветку master. Все могут продолжать изучать эту ветку, но рекомендуется изучать ветку master, так как в Spring Boot появилось много нового содержания начиная с версии 2.x
.lombok
.)git clone https://github.com/xkcoding/spring-boot-demo.git
pom.xml
из корневой директории с помощью панели Maven Projects
Maven Projects
, попробуйте активировать View -> Tool Buttons
, и панель Maven Projects
появится на правой стороне IDEA.Примечание: Каждая демонстрация имеет подробный файл README. Не забудьте проверить его перед запуском демонстрации~
Примечание: В некоторых случаях вам нужно выполнить SQL-запросы для подготовки данных перед запуском демонстрации, не забудьте об этом~
## TODOПросмотрите файл TODO## Введение в каждый модуль| Имя модуля | Описание модуля |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| [spring-boot-demo-helloworld](. /spring-boot-demo-helloworld) | демонстрационный пример "Hello World". |
| [spring-boot-demo-properties](. /spring-boot-demo-properties) | демонстрационный пример чтения содержимого файла конфигурации. |
| [spring-boot-demo-actuator](. /spring-boot-demo-actuator) | демонстрационный пример интеграции spring-boot-starter-actuator для мониторинга статуса запуска и статуса выполнения приложения. |
| [spring-boot-demo-admin-client](. /spring-boot-demo-admin/spring-boot-demo-admin-client) | клиентский пример интеграции spring-boot-admin для визуального мониторинга статуса выполнения приложения, может использоваться вместе с spring-boot-starter-actuator. |
| [spring-boot-demo-admin-server](. /spring-boot-demo-admin/spring-boot-demo-admin-server) | серверный пример интеграции spring-boot-admin для визуального мониторинга статуса выполнения spring-boot-программы, может использоваться вместе с spring-boot-starter-actuator. |
| [spring-boot-demo-logback](. /spring-boot-demo-logback) | демонстрационный пример интеграции logback для логирования. |
| [spring-boot-demo-log-aop](. /spring-boot-demo-log-aop) | демонстрационный пример записи логов веб-запросов с помощью AOP аспекта. |
| [spring-boot-demo-exception-handler](. /spring-boot-demo-exception-handler) | демонстрационный пример глобального обработчика исключений, включая 2 типа: первый возвращает json-данные, а второй переходит на страницу ошибки. |
| spring-boot-demo-template-freemarker | демонстрационный пример интеграции Freemarker шаблонного движка. |
| [spring-boot-demo-template-thymeleaf](. /spring-boot-demo-template-thymeleaf) | демонстрационный пример интеграции Thymeleaf шаблонного движка. |
| [spring-boot-demo-template-beetl](. /spring-boot-demo-template-beetl) | демонстрационный пример интеграции Beetl шаблонного движка. |
| [spring-boot-demo-template-enjoy](. /spring-boot-demo-template-enjoy) | демонстрационный пример интеграции Enjoy шаблонного движка. |
| [spring-boot-demo-orm-jdbctemplate](. /spring-boot-demo-orm-jdbctemplate) | демонстрационный пример интеграции Jdbc Template для работы с базой данных и простого упаковывания слоя generic Dao. |
| [spring-boot-demo-orm-jpa](. /spring-boot-demo-orm-jpa) | демонстрация интеграции spring-boot-starter-data-jpa для работы с базой данных. |
| [spring-boot-demo-orm-mybatis](. /spring-boot-demo-orm-mybatis) | демонстрация интеграции нативного mybatis с использованием зависимости mybatis-spring-boot-starter. |
| [spring-boot-demo-orm-mybatis-mapper-page](. /spring-boot-demo-orm-mybatis-mapper-page) | демонстрация интеграции Mapper и PageHelper с использованием зависимостей mapper-spring-boot-starter и pagehelper-spring-boot. |
| [spring-boot-demo-orm-mybatis-plus](. /spring-boot-demo-orm-mybatis-plus) | демонстрация интеграции mybatis-plus с использованием зависимости mybatis-plus-boot-starter. |
| [spring-boot-demo-orm-beetlsql](. /spring-boot-demo-orm-beetlsql) | демонстрация интеграции beetl-sql. |com/guide/#beetlsql) с использованием зависимости beetl-framework-starter. |
| spring-boot-demo-upload | демонстрация загрузки файлов, включая загрузку локальных файлов и загрузку файлов на облачное хранилище Qiniu. |
| spring-boot-demo-cache-redis | демонстрация интеграции Redis, работы с данными в Redis и использования Redis для кэширования данных. |
| spring-boot-demo-cache-ehcache | демонстрация интеграции Ehcache и использования Ehcache для кэширования данных. |
| spring-boot-demo-email | демонстрация интеграции электронной почты, включая отправку простых текстовых писем, HTML-писем (включая письма с шаблоном HTML), писем с вложениями и писем с статическими ресурсами. |
| spring-boot-demo-task | демонстрация простого использования расписанных задач. |
| spring-boot-demo-task-quartz | демонстрация интеграции Quartz для управления расписанными задачами, включая добавление новых задач, удаление задач, приостановку задач, восстановление задач, изменение времени запуска задач и запросы списка задач, а также предоставление фронтенд-страниц. |
| spring-boot-demo-task-xxl-job | демонстрация интеграции xxl-job. || xxl-job-distributed-tasks | для распределенных расписанных задач и предоставляет методы управления расписанными задачами через xxl-job-admin
, включая списки расписанных задач, списки триггеров, создание новых расписанных задач, удаление расписанных задач, остановку расписанных задач и запуск расписанных задач. Изменение расписанных задач и ручное триггерирование расписанных задач. |
| [spring-boot-demo-swagger](. /spring-boot-demo-swagger) | демонстрация интеграции встроенной swagger
для управления и тестирования API-интерфейсов. |
| [spring-boot-demo-swagger-beauty](. /spring-boot-demo-swagger-beauty) | демонстрация интеграции сторонней зависимости swagger
swagger-bootstrap-ui для улучшения стиля документации и управления и тестирования API-интерфейсов. |
| [spring-boot-demo-rbac-security](. /spring-boot-demo-rbac-security) | демонстрация интеграции Spring Security для реализации управления привилегиями на основе модели RBAC, поддерживает пользовательское фильтрацию запросов, динамическое аутентификацию привилегий, использует JWT для аутентификации безопасности, поддерживает статистику онлайн-пользователей, ручное удаление пользователей и т. д. |
| [spring-boot-demo-rbac-shiro](. /spring-boot-demo-rbac-shiro) | НЕ ЗАВЕРШЕНО!
демонстрация интеграции Shiro для управления аутентификацией. |
| spring-boot-demo-session | демонстрация интеграции Spring Session для реализации обмена сессий, сессия не истекает при перезапуске программы. |
| [spring-boot-demo-oauth](. /spring-boot-demo-oauth) | НЕ ЗАВЕРШЕНО!
демонстрация реализации oauth-сервера и протокола oauth2, включая код авторизации, токен доступа. |
| [spring-boot-demo-social](. /spring-boot-demo-social) | демонстрация интеграции третьих сторон для входа с помощью зависимости justauth-spring-boot-starter
для реализации входа через QQ, GitHub, WeChat, Google, Microsoft, Xiaomi и корпоративный WeChat. |
| [spring-boot-demo-zookeeper](. /spring-boot-demo-zookeeper) | демонстрация интеграции Zookeeper и AOP для реализации распределенной блокировки. |
| [spring-boot-demo-mq-rabbitmq](. /spring-boot-demo-mq-rabbitmq) | демонстрация интеграции RabbitMQ для доставки и приема сообщений на основе режима прямой очереди, режима фан-аут, режима темы и задержанной очереди. |
| [spring-boot-demo-mq-rocketmq](. /spring-boot-demo-mq-rocketmq) | НЕ ЗАВЕРШЕНО!
пример интеграции RocketMQ для доставки и приема сообщений. |
| [spring-boot-demo-mq-kafka](. /spring-boot-demo-mq-kafka) | пример интеграции Kafka для доставки и приема сообщений. |
| [spring-boot-demo-websocket](. /spring-boot-demo-websocket) | пример интеграции websocket, сервер активно отправляет состояние на фронтенд. |
| [spring-boot-demo-websocket-socketio](. /spring-boot-demo-websocket-socketio) | пример интеграции websocket с использованием netty-socketio
, реализация простого чата. |
| [spring-boot-demo-ureport2](. /spring-boot-demo-ureport2) | НЕ ЗАВЕРШЕН!
пример интеграции ureport2 для реализации сложных, настраиваемых отчетов китайского стиля. |
| [spring-boot-demo-uflo](. /spring-boot-demo-uflo) | НЕ ЗАВЕРШЕН!
пример интеграции uflo (движок процессов, подобный Activiti и Flowable) для быстрой реализации легковесного движка процессов. |
| [spring-boot-demo-urule](. /spring-boot-demo-urule) | НЕ ЗАВЕРШЕН!
пример интеграции urule (движок правил, подобный drools) для быстрой реализации движка правил. |
| [spring-boot-demo-activiti](. /spring-boot-demo-activiti) | НЕ ЗАВЕРШЕН!
пример интеграции движка процессов Activiti 7. |
| [spring-boot-demo-async](. /spring-boot-demo-async) | асинхронное выполнение задач с использованием встроенной поддержки асинхронных задач. |
| [spring-boot-demo-war](. /spring-boot-demo-war) | упакован в конфигурацию формата war |
| [spring-boot-demo-elasticsearch](. /spring-boot-demo-elasticsearch) | пример интеграции ElasticSearch с использованием spring-boot-starter-data-elasticsearch
для реализации продвинутых техник использования ElasticSearch, включая создание индексов, настройку отображений, удаление индексов, добавление и удаление базовых операций, сложных запросов, продвинутых запросов, агрегирующих запросов и т. д. |
| [spring-boot-demo-dubbo](. /spring-boot-demo-dubbo) | пример интеграции Dubbo, общий модуль spring-boot-demo-dubbo-common
, поставщик сервиса spring-boot-demo-dubbo-provider
, потребитель сервиса spring-boot-demo-dubbo-consumer
. | | [spring-boot-demo-mongodb](. /spring-boot-demo-mongodb) | демонстрация интеграции MongoDB и использования официального стартера для CRUD. |
| [spring-boot-demo-neo4j](. /spring-boot-demo-neo4j) | демонстрация интеграции Neo4j графовой базы данных для реализации сети взаимоотношений персонажей. |
| [spring-boot-demo-docker](. /spring-boot-demo-docker) | демонстрация использования Docker контейнера. |
| [spring-boot-demo-multi-datasource-jpa](. /spring-boot-demo-multi-datasource-jpa) | демонстрация использования JPA для интеграции нескольких источников данных в spring-boot. |
| [spring-boot-demo-multi-datasource-mybatis](. /spring-boot-demo-multi-datasource-mybatis) | демонстрация реализации многоканальной системы источников данных Mybatis с использованием открытого решения из Mybatis-Plus. |
| [spring-boot-demo-sharding-jdbc](. /spring-boot-demo-sharding-jdbc) | демонстрация использования sharding-jdbc
для реализации подбаз данных и подтаблиц, при этом ORM использует Mybatis-Plus. |
| [spring-boot-demo-tio](. /spring-boot-demo-tio) | НЕ ЗАВЕРШЕНО!
демонстрация интеграции t-io (фреймворка сетевой разработки, подобного Netty). |
| [spring-boot-demo-grpc](. /spring-boot-demo-grpc) | НЕ ЗАВЕРШЕНО!
демонстрация интеграции Google grpc, требуется настройка tls/ssl, см. ISSUE#5. |
| [spring-boot-demo-codegen](. /spring-boot-demo-codegen) | демонстрация интеграции движка шаблонов Velocity для реализации генератора кода, повышение эффективности разработки. |
| spring-boot-demo-graylog | демонстрация интеграции Graylog для унифицированного сбора логов. |
| spring-boot-demo-sso | НЕ ЗАВЕРШЕНО!
демонстрация интеграции единого входа, см. ISSUE#12. |
| spring-boot-demo-ldap | интеграция Spring Boot с LDAP, интеграция spring-boot-starter-data-ldap
для выполнения базовых CURD операций LDAP, и предоставление примера API для входа, демонстрация интеграции LDAP для использования spring-boot-starter-data-ldap
для реализации CURD операций и предоставления примера входа, см. ISSUE#23, благодарим @fxbin. |## ЛицензияMIT
Авторское право (c) 2018 Yangkai.Shen
<?xml version="1.0" encoding="UTF-8"?>
```<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xkcoding</groupId>
<artifactId>spring-boot-demo</artifactId>
<version>1.0.0-SNAPSHOT</version>
<modules>
<module>spring-boot-demo-helloworld</module>
<module>spring-boot-demo-properties</module>
<module>spring-boot-demo-actuator</module>
<module>spring-boot-demo-admin</module>
<module>spring-boot-demo-logback</module>
<module>spring-boot-demo-log-aop</module>
<module>spring-boot-demo-exception-handler</module>
<module>spring-boot-demo-template-freemarker</module>
<module>spring-boot-demo-template-thymeleaf</module>
<module>spring-boot-demo-template-beetl</module>
<module>spring-boot-demo-template-enjoy</module>
<module>spring-boot-demo-orm-jdbctemplate</module>
<module>spring-boot-demo-orm-jpa</module>
<module>spring-boot-demo-orm-mybatis</module>
<module>spring-boot-demo-orm-mybatis-mapper-page</module>
<module>spring-boot-demo-orm-mybatis-plus</module>
<module>spring-boot-demo-orm-beetlsql</module>
<module>spring-boot-demo-upload</module>
<module>spring-boot-demo-cache-redis</module>
<module>spring-boot-demo-cache-ehcache</module>
<module>spring-boot-demo-email</module>
<module>spring-boot-demo-task</module>
<module>spring-boot-demo-task-quartz</module>
<module>spring-boot-demo-task-xxl-job</module>
<module>spring-boot-demo-swagger</module>
<module>spring-boot-demo-swagger-beauty</module>
<module>spring-boot-demo-rbac-security</module>
<module>spring-boot-demo-rbac-shiro</module>
<module>spring-boot-demo-session</module>
<module>spring-boot-demo-oauth</module>
<module>spring-boot-demo-social</module>
<module>spring-boot-demo-zookeeper</module>
<module>spring-boot-demo-mq-rabbitmq</module>
<module>spring-boot-demo-mq-rocketmq</module>
<module>spring-boot-demo-mq-kafka</module>
<module>spring-boot-demo-websocket</module>
<module>spring-boot-demo-websocket-socketio</module>
<module>spring-boot-demo-ureport2</module>
<module>spring-boot-demo-uflo</module>
<module>spring-boot-demo-urule</module>
<module>spring-boot-demo-activiti</module>
</modules>
</project> <module>spring-boot-demo-async</module>
<module>spring-boot-demo-dubbo</module>
<module>spring-boot-demo-war</module>
<module>spring-boot-demo-elasticsearch</module>
<module>spring-boot-demo-mongodb</module>
<module>spring-boot-demo-neo4j</module>
<modules>
<module>spring-boot-demo-docker</module>
<module>spring-boot-demo-multi-datasource-jpa</module>
<module>spring-boot-demo-multi-datasource-mybatis</module>
<module>spring-boot-demo-sharding-jdbc</module>
<module>spring-boot-demo-tio</module>
<module>spring-boot-demo-codegen</module>
<module>spring-boot-demo-graylog</module>
<module>spring-boot-demo-ldap</module>
</modules>
<packaging>pom</packaging>
<name>spring-boot-demo</name>
<url>http://xkcoding.com</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<spring.boot.version>2.1.0.RELEASE</spring.boot.version>
<mysql.version>8.0.12</mysql.version>
<hutool.version>4.6.3</hutool.version>
<guava.version>28.0-jre</guava.version>
<user.agent.version>1.20</user.agent.version>
</properties> <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<!-- hutool工具类 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- guava工具类 -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<!-- анализ UserAgent информации -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${user.agent.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build> </execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
```### Официальное введение для новичков| Имя | Описание |
| :------------------------------------- | :----------------------------------------------------------- |
| spring-boot-starter | Основной стартап Spring Boot, включая поддержку автонастройки, логирования и YAML. |
| spring-boot-starter-actuator | Производственные возможности для мониторинга и управления вашим приложением. |
| spring-boot-starter-amqp | Поддержка сообщений RabbitMQ. |
| spring-boot-starter-aop | Поддержка аспектно-ориентированного программирования, включая spring-aop и AspectJ. |
| spring-boot-starter-batch | Поддержка "Spring Batch", включая базу данных HSQLDB. |
| spring-boot-starter-cache | Поддержка абстракции кэширования Spring. |
| spring-boot-starter-data-elasticsearch | Поддержка поискового и аналитического движка Elasticsearch, включая spring-data-elasticsearch. |
| spring-boot-starter-data-jpa | Поддержка "Java Persistence API", включая spring-data-jpa, spring-orm и Hibernate. |
| spring-boot-starter-data-mongodb | Поддержка NoSQL базы данных MongoDB, включая spring-data-mongodb. |
| spring-boot-starter-data-rest | Поддержка обнаружения репозиториев Spring Data через REST с помощью spring-data-rest-webmvc. |
| spring-boot-starter-data-solr | Поддержка платформы поиска Apache Solr, включая spring-data-solr. |
| spring-boot-starter-freemarker | Поддержка движка шаблонов FreeMarker. |
| spring-boot-starter-groovy-templates | Поддержка движка шаблонов Groovy. | | spring-boot-starter-integration | Поддержка общих модулей Spring Integration. |
| spring-boot-starter-jdbc | Поддержка баз данных JDBC. |
| spring-boot-starter-jersey | Поддержка фреймворка RESTful Web Services Jersey. |
| spring-boot-starter-jta-atomikos | Поддержка распределенных транзакций JTA через Atomikos. |
| spring-boot-starter-jta-bitronix | Поддержка распределенных транзакций JTA через Bitronix. |
| spring-boot-starter-mail | Поддержка javax.mail. |
| spring-boot-starter-mustache | Поддержка движка шаблонов Mustache. |
| spring-boot-starter-redis | Поддержка Redis-хранилища данных с ключ-значением, включая spring-redis. |
| spring-boot-starter-security | Поддержка Spring Security. |
| spring-boot-starter-social-facebook | Поддержка Spring Social Facebook. |
| spring-boot-starter-social-linkedin | Поддержка Spring Social LinkedIn. |
| spring-boot-starter-social-twitter | Поддержка Spring Social Twitter. |
| spring-boot-starter-test | Поддержка общих зависимостей для тестирования, включая JUnit, Hamcrest и Mockito, а также модуль spring-test. |
| spring-boot-starter-thymeleaf | Поддержка движка шаблонов Thymeleaf, включая интеграцию с Spring. |
| spring-boot-starter-velocity | Поддержка движка шаблонов Velocity. |
| spring-boot-starter-web | Поддержка полнослоевого веб-разработки, включая Tomcat и spring-webmvc. |
| spring-boot-starter-websocket | Поддержка разработки WebSocket. |
| spring-boot-starter-ws | Поддержка Spring Web Services. |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )