Compare commits
6
Commits
d8d69d200a
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ff63dfdc0 | ||
|
|
2cc798376c | ||
|
|
95f866cd78 | ||
|
|
91ef88d8c9 | ||
|
|
26a6f065da | ||
|
|
7adf116721 |
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-кода клиентом(для сбора метрик)
|
||||||
+49
-2
@@ -1,21 +1,68 @@
|
|||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm") version "2.0.21"
|
kotlin("jvm") version "2.0.21"
|
||||||
|
id("org.openapi.generator") version "7.10.0"
|
||||||
|
id("maven-publish")
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "com.kashiuno"
|
group = "ru.vyatsu"
|
||||||
version = "1.0-SNAPSHOT"
|
version = "1.0.0"
|
||||||
|
|
||||||
|
val generatedSourcesDir = "$buildDir/generated/openapi"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Нужно присобачить bom
|
||||||
dependencies {
|
dependencies {
|
||||||
|
compileOnly("com.squareup.okhttp3:okhttp:4.12.0")
|
||||||
|
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"))
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.test {
|
tasks.test {
|
||||||
useJUnitPlatform()
|
useJUnitPlatform()
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlin {
|
kotlin {
|
||||||
jvmToolchain(17)
|
jvmToolchain(17)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.openApiGenerate {
|
||||||
|
generatorName.set("kotlin-spring")
|
||||||
|
inputSpec.set("$rootDir/src/main/resources/openapi-contract.yaml")
|
||||||
|
outputDir.set(generatedSourcesDir)
|
||||||
|
packageName.set("ru.vyatsu")
|
||||||
|
configOptions.put("interfaceOnly", "true")
|
||||||
|
configOptions.put("useSpringBoot3", "true")
|
||||||
|
configOptions.put("useBeanValidation", "false")
|
||||||
|
configOptions.put("useSwaggerUI", "false")
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
getByName("main") {
|
||||||
|
kotlin {
|
||||||
|
srcDir("$generatedSourcesDir/src/main/kotlin")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.compileKotlin {
|
||||||
|
dependsOn(tasks.openApiGenerate)
|
||||||
|
}
|
||||||
|
|
||||||
|
publishing {
|
||||||
|
publications {
|
||||||
|
create<MavenPublication>("maven") {
|
||||||
|
from(components["kotlin"])
|
||||||
|
artifactId = tasks.jar.get().archiveBaseName.get()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
@@ -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