Простой проект по OAuth авторизации через VK API
git clone https://github.com/baby-benz/web-oauth2
Первым делом из терминала запускаем удовлетворение всех зависимостей:
mvn install -DskipTests
В application.properties устанавливаем желаемый порт для Tomcat Web Server (по-умолчанию - 8080) и значения для id приложения и секретного кода:
security.oauth2.app-id=*ваш_id*
security.oauth2.client-secret=*ваш_код*
После этого собираем .jar-файл и запускаем (установленная версия JRE должна быть не ниже 11):
mvn package -DskipTests
java -jar target/lab2-0.1.0.jar
Основной контроллер:
Endpoint | Поддерживаемый метод | Действие | MIME-тип возвращаемых данных |
---|---|---|---|
/info | GET | Обновление секретного кода и вывод информации заного | text/plain |
/swagger-ui/ | GET | Графический интерфейс Swagger2 | text/html |
REST-контроллер:
Endpoint | Поддерживаемый метод | Действие | MIME-тип возвращаемых данных |
---|---|---|---|
/api/user/{id сущности в базе данных} | GET | Возвращает json-объект соответствующего пользователя или 400 Bad Request в случае, если пользователя с таким id не существует | application/json |
/api/user | POST | Сохраняет пользователя в базу данных и возвращает 201 Created c json-объектом соответствующего пользователя в теле ответа в случае успеха. В случае, если какие-то поля пользователя заполнены неверно или пользователь с таким ID уже существует, то возвращается 400 Bad Request. | application/json |
/api/user | PUT | Пользователь с указанным ID перезаписывается теми значениями, что переданы в теле запроса. В случае отсутствия некоторых необязательных полей в передаваемом объекте пользователя, эти поля обнуляются в базе данных. Возвращается 201 Created c json-объектом соответствующего пользователя в теле ответа в случае успеха. В случае, если какие-то поля пользователя заполнены неверно или пользователя с таким ID не существует, то возвращается 400 Bad Request. | application/json |
/api/user | PATCH | Пользователь с указанным ID перезаписывается теми значениями, что переданы в теле запроса. В случае отсутствия некоторых необязательных полей в передаваемом объекте пользователя, эти поля остаются в базе данных без изменений. Возвращается 201 Created c json-объектом соответствующего пользователя в теле ответа в случае успеха. В случае, если какие-то поля пользователя заполнены неверно или пользователя с таким ID не существует, то возвращается 400 Bad Request. | application/json |
GET-запрос с существующим id:
curl -X GET "http://localhost:8080/api/user/1" -H "accept: application/json"
GET-запрос с неверным id:
curl -X GET "http://localhost:8080/api/user/3" -H "accept: application/json"
Верный POST-запрос:
curl -X POST "http://localhost:8080/api/user" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"fullName\": \"Nikolay\", \"userId\": 14}"
Повторный POST-запрос с тем же телом запроса:
Верный PUT-запрос:
curl -X PUT "http://localhost:8080/api/user/1" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"fullName\": \"Alexey\", \"userId\": 12}"
PUT-запрос с неверным id:
curl -X PUT "http://localhost:8080/api/user/3" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"fullName\": \"Alexey\", \"userId\": 11}"
Верный PATCH-запрос:
curl -X PATCH "http://localhost:8080/api/user/1" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"fullName\": \"Dima\", \"userId\": 61}"
PATCH-запрос с неверным id:
curl -X PATCH "http://localhost:8080/api/user/3" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"fullName\": \"Dima\", \"userId\": 60}"
- JDK 11
- Spring Boot - Web Framework
- VK Java SDK - Библиотека для взаимодействия с API ВКонтакте
- H2 Database - База данных, используемая для хранения значений в памяти
Kobtsev Nikita - Baby-Benz