Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/paveldanilin/test-task
https://github.com/paveldanilin/test-task
Last synced: about 6 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/paveldanilin/test-task
- Owner: paveldanilin
- License: other
- Created: 2021-04-22T10:33:44.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-04-25T08:41:32.000Z (over 3 years ago)
- Last Synced: 2023-03-06T03:29:33.490Z (over 1 year ago)
- Language: Java
- Size: 20.5 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE.txt
Awesome Lists containing this project
README
[![CircleCI](https://circleci.com/gh/paveldanilin/test-task.svg?style=svg)](https://circleci.com/gh/paveldanilin/test-task)
# TestTask
```
Нужно сделать веб сервер в котором реализовать 2 REST API:· Принимает произвольное число типа integer и кладет его в табличку БД, ответом будет ID этой записи
· Принимает имя агрегатной операции (например сумма, среднее, минимальное, максимальное) и IDшки записей. Если IDшки не указаны – сделать по всем записям. Ответом будет результат агрегатной операции.
Какие технологии использовать:· Сделать все с использованием Spring Framework. Каждая агрегатная операция – бин в Spring.
· Использовать нужно XML контекст, не аннотации. Чтобы поднять веб сервере – использовать Spring Boot.
· Для доступа к БД использовать Spring JPA.
· База данных – любая. Самая простая SQLLite для этих целей.
· Для тестирование рест контролеров – используй Postman/Insomnia.
· IDE лучше использовать Intelij IDEA (активируй триал, он дается на 30 дней).
· Придерживаться ООП.
Результаты выложить на GitHub.
Обязательное наличие статического анализатора кода Qulice - https://www.qulice.com/ Каждое подавление warning должно быть объясненно
```#### Build
- mvn install#### Start
- mvn spring-boot:run#### Insomnia collection
- Insomnia_2021-04-22.json#### SuppressWarnings
Для абстрактной сущности подавляем отсутсвие абстрактных методов.
Нужно было расшарить свойство Id, для всех сущностей.
```java
@SuppressWarnings("PMD.AbstractClassWithoutAbstractMethod")
public abstract class AbstractEntity {}
```Нужно дать возможность спрингу создать инстанс главного класса.
```java
@SuppressWarnings({
"PMD.ClassWithOnlyPrivateConstructorsShouldBeFinal",
"PMD.UseUtilityClass"
})
public class XmlConfigApplication {}
```#### Unit test
- TODO unit test