RESTfull api для работы с пользователя. Модель данных : Сущность User (Пользователь) Код уникальный Long id Ник String nick Логин String login эл. почта String email Массив достижений List<UserAchievement> achievements связь один-ко-многим Сущность UserAchievement (Достижение пользователя) Код в БД Long id Достижение String achievement Класс UserList являеться утилитарным , создан из-за особенности маршалинга xml когда должен быть корневой тег внутри него список возвращаемого список пользователей. Особенности: spring-data-jpa надстройка на hibernate и jpa пользоляет в интерфейсе сразу определить запросы Авторизация реализована через фильтр , токен указываеться в заголовке через Authorization, по умолчанию токен 12345 (curl -H "Authorization:12345" http://localhost:8080/user/id/1/json) В случае если авторизация не прошла возврожаеться код 403 Все методы вместе с данным возвращают статус * HttpStatus.OK если все прошло хорошо и небыло ошибок * HttpStatus.NO_CONTENT если нечего не нашлось * HttpStatus.BAD_REQUEST если параметры null Интерфейс : * /user/id/{id}/{xml|json} получение пользователя по id (curl -H "Authorization:12345" http://localhost:8080/user/id/1/json) * /user/nick/{nick}/{xml|json} получение списка пользователей по nick * /user/email/{email}/{xml|json} получение списка пользователей по email * /user/update обновление пользователя (изменение ника, email) update указывает какой поле обновить (nick , email), id Пользователя, value Новое значение ( curl -H "Authorization:12345" -s -d "update=nick&id=1&value=test" http://localhost:8080/user/update ) * /user/achievement/add установка достижения id Пользователя, achievement достижение ( тип String ) ( curl -H "Authorization:12345" -s -d "id=1&achievement=test" http://localhost:8080/user/achievement/add ) В maven два профиля development и prodaction по умолчанию включен development Запуск : mvn jetty:run-war - запускает локальный сервер jetty с построением war или mvn jetty:run - запускает локальный сервер jetty с без построения war Для создания в продакшен mvn -P production package