Compare commits
4
Commits
26a6f065da
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ff63dfdc0 | ||
|
|
2cc798376c | ||
|
|
95f866cd78 | ||
|
|
91ef88d8c9 |
Generated
+1
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||||
<component name="GradleSettings">
|
<component name="GradleSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
<GradleProjectSettings>
|
<GradleProjectSettings>
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# Библиотека openapi контрактов
|
||||||
|
|
||||||
|
Библиотека содержит openapi описание методов используемых для интеграции аппаратной части и информационной системы
|
||||||
|
|
||||||
|
## Сборка библиотеки
|
||||||
|
|
||||||
|
При сборке будут сгенерированы классы контроллеров и DTO скомпилированы и упакованы в jar файл
|
||||||
|
|
||||||
|
`gradle jar`
|
||||||
|
|
||||||
|
## Описанные методы
|
||||||
|
|
||||||
|
- GET /qr - метод получения qr-кодов
|
||||||
|
- POST /qr-used/{qrId} - метод отметки использования qr-кода клиентом(для сбора метрик)
|
||||||
+23
-1
@@ -1,6 +1,7 @@
|
|||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm") version "2.0.21"
|
kotlin("jvm") version "2.0.21"
|
||||||
id("org.openapi.generator") version "7.10.0"
|
id("org.openapi.generator") version "7.10.0"
|
||||||
|
id("maven-publish")
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "ru.vyatsu"
|
group = "ru.vyatsu"
|
||||||
@@ -12,9 +13,17 @@ repositories {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Нужно присобачить bom
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly("com.squareup.okhttp3:okhttp:4.12.0")
|
compileOnly("com.squareup.okhttp3:okhttp:4.12.0")
|
||||||
compileOnly("com.squareup.moshi:moshi-kotlin:1.15.2")
|
compileOnly("com.squareup.moshi:moshi-kotlin:1.15.2")
|
||||||
|
compileOnly("org.springframework.boot:spring-boot-autoconfigure:3.4.1")
|
||||||
|
compileOnly("org.springframework.boot:spring-boot-starter-web:3.4.1")
|
||||||
|
compileOnly("org.springframework.boot:spring-boot-starter-validation:3.4.1")
|
||||||
|
compileOnly("jakarta.servlet:jakarta.servlet-api:6.1.0")
|
||||||
|
compileOnly("io.swagger.core.v3:swagger-annotations:2.2.27")
|
||||||
|
compileOnly("io.swagger.core.v3:swagger-models:2.2.27")
|
||||||
|
|
||||||
testImplementation(kotlin("test"))
|
testImplementation(kotlin("test"))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,10 +36,14 @@ kotlin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tasks.openApiGenerate {
|
tasks.openApiGenerate {
|
||||||
generatorName.set("kotlin")
|
generatorName.set("kotlin-spring")
|
||||||
inputSpec.set("$rootDir/src/main/resources/openapi-contract.yaml")
|
inputSpec.set("$rootDir/src/main/resources/openapi-contract.yaml")
|
||||||
outputDir.set(generatedSourcesDir)
|
outputDir.set(generatedSourcesDir)
|
||||||
packageName.set("ru.vyatsu")
|
packageName.set("ru.vyatsu")
|
||||||
|
configOptions.put("interfaceOnly", "true")
|
||||||
|
configOptions.put("useSpringBoot3", "true")
|
||||||
|
configOptions.put("useBeanValidation", "false")
|
||||||
|
configOptions.put("useSwaggerUI", "false")
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
@@ -44,3 +57,12 @@ sourceSets {
|
|||||||
tasks.compileKotlin {
|
tasks.compileKotlin {
|
||||||
dependsOn(tasks.openApiGenerate)
|
dependsOn(tasks.openApiGenerate)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
publishing {
|
||||||
|
publications {
|
||||||
|
create<MavenPublication>("maven") {
|
||||||
|
from(components["kotlin"])
|
||||||
|
artifactId = tasks.jar.get().archiveBaseName.get()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,6 +21,8 @@ paths:
|
|||||||
summary: Получение qr кодов
|
summary: Получение qr кодов
|
||||||
description: Получение qr кодов за сегодня, за исключением прошедшего времени
|
description: Получение qr кодов за сегодня, за исключением прошедшего времени
|
||||||
operationId: getQrCodes
|
operationId: getQrCodes
|
||||||
|
security:
|
||||||
|
- bearerAuth: [ ]
|
||||||
responses:
|
responses:
|
||||||
'200':
|
'200':
|
||||||
description: Successful operation
|
description: Successful operation
|
||||||
@@ -46,6 +48,8 @@ paths:
|
|||||||
summary: Отметка qr-кода как использованного(Для сбора метрик).
|
summary: Отметка qr-кода как использованного(Для сбора метрик).
|
||||||
description: Отправляется микрокомпьютером, когда qr-код был задействован.
|
description: Отправляется микрокомпьютером, когда qr-код был задействован.
|
||||||
operationId: markQrCodeAsUsed
|
operationId: markQrCodeAsUsed
|
||||||
|
security:
|
||||||
|
- bearerAuth: [ ]
|
||||||
responses:
|
responses:
|
||||||
'200':
|
'200':
|
||||||
description: Successfull mark
|
description: Successfull mark
|
||||||
@@ -81,3 +85,8 @@ components:
|
|||||||
type: string
|
type: string
|
||||||
format: uuid
|
format: uuid
|
||||||
example: 'dd654b6c-a671-488e-8fc9-eb564d0a8f22'
|
example: 'dd654b6c-a671-488e-8fc9-eb564d0a8f22'
|
||||||
|
securitySchemes:
|
||||||
|
bearerAuth:
|
||||||
|
type: http
|
||||||
|
scheme: bearer
|
||||||
|
bearerFormat: JWT
|
||||||
Reference in New Issue
Block a user