mirror of
https://github.com/valitydev/swag-disputes.git
synced 2024-11-06 00:55:17 +00:00
IMP-299L impl proto (#2)
* IMP-299L impl proto * IMP-299: impl proto * IMP-299: impl proto * IMP-299: impl proto * IMP-299: impl proto * IMP-299: feedback edits
This commit is contained in:
parent
4ad5339d77
commit
d5286d5700
10
.github/workflows/build-java.yaml
vendored
Normal file
10
.github/workflows/build-java.yaml
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
name: Build java libraries
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
uses: valitydev/java-workflow/.github/workflows/maven-swag-build.yml@v3
|
19
.github/workflows/deploy-java.yaml
vendored
Normal file
19
.github/workflows/deploy-java.yaml
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
name: Maven Deploy Artifact
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
- 'main'
|
||||
- 'epic/**'
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
uses: valitydev/java-workflow/.github/workflows/maven-swag-deploy.yml@v3
|
||||
secrets:
|
||||
server-username: ${{ secrets.OSSRH_USERNAME }}
|
||||
server-password: ${{ secrets.OSSRH_TOKEN }}
|
||||
deploy-secret-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
|
||||
deploy-secret-key-password: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
|
31
.github/workflows/gh-pages.yaml
vendored
Normal file
31
.github/workflows/gh-pages.yaml
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
name: gh-pages
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
|
||||
env:
|
||||
NODEJS_VERSION: '16'
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ env.NODEJS_VERSION }}
|
||||
cache: npm
|
||||
- run: npm install
|
||||
- name: Patch specification
|
||||
run: npm run build
|
||||
- name: Bundle ReDoc site
|
||||
run: npm run redoc
|
||||
- name: Publish ReDoc on Github Pages
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./dist
|
69
.gitignore
vendored
Normal file
69
.gitignore
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
# Dir for API portal deploy
|
||||
dist
|
||||
out
|
||||
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directory
|
||||
node_modules
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# CI
|
||||
.wercker
|
||||
|
||||
# Generated
|
||||
web_deploy/
|
||||
target
|
||||
|
||||
# User-specific stuff:
|
||||
.idea/
|
||||
.idea/workspace.xml
|
||||
.idea/tasks.xml
|
||||
.idea/dictionaries
|
||||
.idea/vcs.xml
|
||||
.idea/jsLibraryMappings.xml
|
||||
*.iml
|
||||
|
||||
# Sensitive or high-churn files:
|
||||
.idea/dataSources.ids
|
||||
.idea/dataSources.xml
|
||||
.idea/dataSources.local.xml
|
||||
.idea/sqlDataSources.xml
|
||||
.idea/dynamic.xml
|
||||
.idea/uiDesigner.xml
|
||||
|
||||
# Gradle:
|
||||
.idea/gradle.xml
|
||||
.idea/libraries
|
||||
|
||||
# Frontend
|
||||
/lib
|
||||
redoc-static.html
|
||||
|
||||
#Mac OS
|
||||
.DS_Store
|
16
.redocly.yaml
Normal file
16
.redocly.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
# See https://docs.redoc.ly/cli/configuration/ for more information.
|
||||
apis:
|
||||
main:
|
||||
root: 'openapi/openapi.yaml'
|
||||
lint:
|
||||
extends:
|
||||
- recommended
|
||||
plugins:
|
||||
- './plugins/local.js'
|
||||
preprocessors:
|
||||
local/merge-schemas: on
|
||||
features.openapi:
|
||||
showConsole: true
|
||||
pagination: section
|
||||
layout: three-panel
|
||||
routingStrategy: browser
|
11
README.md
11
README.md
@ -1 +1,10 @@
|
||||
# swag-disputes
|
||||
# swag-disputes
|
||||
|
||||
## Local usage
|
||||
|
||||
Use commands in order:
|
||||
|
||||
```shell
|
||||
npm install
|
||||
npm start
|
||||
```
|
||||
|
265
openapi/openapi.yaml
Normal file
265
openapi/openapi.yaml
Normal file
@ -0,0 +1,265 @@
|
||||
openapi: 3.0.3
|
||||
info:
|
||||
title: Vality Disputes
|
||||
version: 0.1.0
|
||||
description: |
|
||||
|
||||
## Описание
|
||||
Vality Disputes предоставляет операции для заявок в системе для открытия спора и предназначен для мерчантов.
|
||||
|
||||
## Детали взаимодействия
|
||||
|
||||
При любом обращении к API в заголовке `X-Request-ID` соответствующего запроса необходимо передать его уникальный идентификатор:
|
||||
|
||||
```
|
||||
X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9
|
||||
```
|
||||
|
||||
### Тип содержимого и кодировка
|
||||
|
||||
Система принимает данные либо в формате JSON либо multipart/form-data и возвращает данные в формате JSON и кодировке UTF-8:
|
||||
|
||||
```
|
||||
Content-Type: application/json; charset=utf-8
|
||||
Content-Type: multipart/form-data
|
||||
```
|
||||
termsOfService: https://vality.dev
|
||||
contact:
|
||||
name: Команда техподдержки
|
||||
email: support@vality.dev
|
||||
servers:
|
||||
- url: https://api.vality.dev/disputes
|
||||
security:
|
||||
- bearerAuth: [ ]
|
||||
tags:
|
||||
- name: disputes
|
||||
x-displayName: Disputes
|
||||
description: |
|
||||
Диспуты - это открытые споры по платежам.
|
||||
paths:
|
||||
/create:
|
||||
post:
|
||||
operationId: create
|
||||
summary: Создать диспут
|
||||
tags:
|
||||
- disputes
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/requestID'
|
||||
requestBody:
|
||||
description: Параметры диспута
|
||||
required: true
|
||||
content:
|
||||
multipart/form-data:
|
||||
schema:
|
||||
type: object
|
||||
required:
|
||||
- invoiceId
|
||||
- paymentId
|
||||
- attachments
|
||||
properties:
|
||||
invoiceId:
|
||||
$ref: '#/components/schemas/InvoiceID'
|
||||
paymentId:
|
||||
$ref: '#/components/schemas/PaymentID'
|
||||
attachments:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
required:
|
||||
- attachment
|
||||
properties:
|
||||
attachment:
|
||||
type: string
|
||||
format: binary
|
||||
description: Загружаемый файл
|
||||
name:
|
||||
type: string
|
||||
description: Имя файла
|
||||
mimeType:
|
||||
type: string
|
||||
description: Тип файла
|
||||
amount:
|
||||
$ref: '#/components/schemas/Amount'
|
||||
reason:
|
||||
type: string
|
||||
description: Причина открытия диспута
|
||||
responses:
|
||||
'200':
|
||||
description: Диспут создан
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
required:
|
||||
- disputeId
|
||||
properties:
|
||||
disputeId:
|
||||
$ref: '#/components/schemas/DisputeId'
|
||||
'400':
|
||||
description: Ошибка в формате запроса
|
||||
$ref: '#/components/responses/DefaultLogicError'
|
||||
'401':
|
||||
$ref: '#/components/responses/Unauthorized'
|
||||
'404':
|
||||
$ref: '#/components/responses/NotFound'
|
||||
'422':
|
||||
description: Метод не поддерживается в рамках текущей интеграции
|
||||
$ref: '#/components/responses/NotSupportedByProvider'
|
||||
/status:
|
||||
get:
|
||||
operationId: status
|
||||
summary: Получить статус диспута
|
||||
tags:
|
||||
- disputes
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/requestID'
|
||||
- name: invoiceId
|
||||
description: Уникальный идентификатор инвоиса
|
||||
in: query
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/components/schemas/InvoiceID'
|
||||
- name: paymentId
|
||||
description: Уникальный идентификатор платежа
|
||||
in: query
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/components/schemas/PaymentID'
|
||||
- name: disputeId
|
||||
description: Идентификатор диспута
|
||||
in: query
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/components/schemas/DisputeId'
|
||||
responses:
|
||||
'200':
|
||||
description: Получен статус диспута
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
required:
|
||||
- status
|
||||
properties:
|
||||
status:
|
||||
description: Статус диспута
|
||||
type: string
|
||||
enum:
|
||||
- pending
|
||||
- succeeded
|
||||
- failed
|
||||
reason:
|
||||
description: Причина фейла
|
||||
$ref: '#/components/schemas/DefaultLogicError'
|
||||
changedAmount:
|
||||
description: Измененная сумма платежа
|
||||
$ref: '#/components/schemas/Amount'
|
||||
'400':
|
||||
description: Ошибка в формате запроса
|
||||
$ref: '#/components/responses/DefaultLogicError'
|
||||
'401':
|
||||
$ref: '#/components/responses/Unauthorized'
|
||||
'404':
|
||||
$ref: '#/components/responses/NotFound'
|
||||
components:
|
||||
securitySchemes:
|
||||
bearerAuth:
|
||||
type: http
|
||||
scheme: bearer
|
||||
bearerFormat: JWT
|
||||
description: |
|
||||
Взаимодействие между мерчантом и [системой](https://vality.dev/) осуществляется по защищенному протоколу (HTTPS). HTTP-запросы по нешифрованному каналу не поддерживаются.
|
||||
|
||||
Ознакомиться с деталями авторизации запросов к API можно в [данной](https://developer.vality.dev/docs/payments/overview/#api) статье.
|
||||
|
||||
Управлять API-ключами можно в [личном кабинете](https://dashboard.vality.dev/). Значение ключа следует передать в заголовке `Authorization`:
|
||||
|
||||
```
|
||||
Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M...
|
||||
```
|
||||
|
||||
Ключи не разделяются на тестовые и боевые. Для проведения тестовых транзакций используйте идентификатор тестового магазина.
|
||||
|
||||
**Важно! Не передавайте API-ключ третьим лицам!**
|
||||
responses:
|
||||
NotFound:
|
||||
description: Target resource not found
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/GeneralError'
|
||||
Unauthorized:
|
||||
description: Authorization error
|
||||
DefaultLogicError:
|
||||
description: Invalid data
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/DefaultLogicError'
|
||||
NotSupportedByProvider:
|
||||
description: Not supported by provider
|
||||
parameters:
|
||||
requestID:
|
||||
name: X-Request-ID
|
||||
in: header
|
||||
description: Идентификатор запроса к системе
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
maxLength: 40
|
||||
minLength: 1
|
||||
schemas:
|
||||
InvoiceID:
|
||||
description: Идентификатор инвоиса, на основе которого был создан платёж
|
||||
type: string
|
||||
maxLength: 40
|
||||
minLength: 1
|
||||
PaymentID:
|
||||
description: Идентификатор платежа
|
||||
type: string
|
||||
maxLength: 40
|
||||
minLength: 1
|
||||
DisputeId:
|
||||
description: Идентификатор диспута
|
||||
type: string
|
||||
maxLength: 40
|
||||
minLength: 1
|
||||
Amount:
|
||||
type: object
|
||||
required:
|
||||
- amount
|
||||
- exponent
|
||||
properties:
|
||||
amount:
|
||||
description: Сумма платежа, которая будет оспариваться в диспуте
|
||||
type: integer
|
||||
format: int64
|
||||
minimum: 1
|
||||
currency:
|
||||
description: >-
|
||||
Валюта, символьный код согласно [ISO
|
||||
4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
type: string
|
||||
pattern: '^[A-Z]{3}$'
|
||||
DefaultLogicError:
|
||||
type: object
|
||||
required:
|
||||
- code
|
||||
- message
|
||||
properties:
|
||||
code:
|
||||
description: Error code
|
||||
type: string
|
||||
enum:
|
||||
- invalidRequest
|
||||
- invalidDeadline
|
||||
message:
|
||||
description: Человекочитаемое описание ошибки
|
||||
type: string
|
||||
GeneralError:
|
||||
type: object
|
||||
required:
|
||||
- message
|
||||
properties:
|
||||
message:
|
||||
type: string
|
8352
package-lock.json
generated
Normal file
8352
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
15
package.json
Normal file
15
package.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "@vality/swag-disputes",
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"@redocly/cli": "1.4.0",
|
||||
"json-merge-patch": "1.0.2",
|
||||
"redoc-cli": "0.13.21"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "openapi preview-docs",
|
||||
"build": "openapi bundle -o openapi/openapi.yaml",
|
||||
"redoc": "redoc-cli bundle openapi/openapi.yaml -o dist/index.html",
|
||||
"validate": "openapi lint"
|
||||
}
|
||||
}
|
49
plugins/local.js
Normal file
49
plugins/local.js
Normal file
@ -0,0 +1,49 @@
|
||||
const jsonmergepatch = require('json-merge-patch');
|
||||
|
||||
module.exports = {
|
||||
|
||||
id: 'local',
|
||||
|
||||
preprocessors: {
|
||||
oas3: {
|
||||
'merge-schemas': MergeSchemas
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
function MergeSchemas() {
|
||||
const trigger = 'x-mergeSchemas';
|
||||
return {
|
||||
Schema: {
|
||||
leave(node, ctx) {
|
||||
if (!node[trigger]) {
|
||||
return;
|
||||
}
|
||||
var schemas = node[trigger];
|
||||
if (!Array.isArray(schemas)) {
|
||||
return ctx.report({
|
||||
message: "Argument should be an array of schemas",
|
||||
location: ctx.location.child(trigger)
|
||||
});
|
||||
}
|
||||
let merged = null;
|
||||
for (index = schemas.length - 1; index >= 0; --index) {
|
||||
let schema = schemas[index];
|
||||
if (typeof schema !== 'object') {
|
||||
return ctx.report({
|
||||
message: "Non-object value",
|
||||
location: ctx.location.child(trigger).child(index)
|
||||
});
|
||||
}
|
||||
if (schema.$ref && typeof schema.$ref === 'string') {
|
||||
schema = ctx.resolve(schema).node;
|
||||
}
|
||||
merged = jsonmergepatch.apply(merged, schema);
|
||||
};
|
||||
Object.assign(node, merged);
|
||||
delete node[trigger];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
185
pom.xml
Normal file
185
pom.xml
Normal file
@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>dev.vality</groupId>
|
||||
<artifactId>library-parent-pom</artifactId>
|
||||
<version>2.0.2</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>swag-disputes</artifactId>
|
||||
<version>${revision}</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>disputes</name>
|
||||
<description>Generates jar artifact containing compiled openapi classes based on generated openapi yaml files
|
||||
</description>
|
||||
|
||||
<properties>
|
||||
<default.package>dev.vality.swag.disputes</default.package>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<revision>SNAPSHOT</revision>
|
||||
<java.version>11</java.version>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<slf4j-version>2.0.13</slf4j-version>
|
||||
<junit-version>4.13.2</junit-version>
|
||||
<jackson-version>2.13.1</jackson-version>
|
||||
<spring-version>3.3.1</spring-version>
|
||||
<openapi-generator-version>7.6.0</openapi-generator-version>
|
||||
</properties>
|
||||
|
||||
|
||||
<dependencies>
|
||||
<!--Spring dependencies -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot</artifactId>
|
||||
<version>${spring-version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-autoconfigure</artifactId>
|
||||
<version>${spring-version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
<version>${spring-version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.data</groupId>
|
||||
<artifactId>spring-data-commons</artifactId>
|
||||
<version>${spring-version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!--third part -->
|
||||
<dependency>
|
||||
<groupId>io.swagger.core.v3</groupId>
|
||||
<artifactId>swagger-annotations</artifactId>
|
||||
<version>2.2.22</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<version>${slf4j-version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jakarta.annotation</groupId>
|
||||
<artifactId>jakarta.annotation-api</artifactId>
|
||||
<version>3.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jakarta.validation</groupId>
|
||||
<artifactId>jakarta.validation-api</artifactId>
|
||||
<version>3.1.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jakarta.servlet</groupId>
|
||||
<artifactId>jakarta.servlet-api</artifactId>
|
||||
<version>6.1.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.datatype</groupId>
|
||||
<artifactId>jackson-datatype-jsr310</artifactId>
|
||||
<version>${jackson-version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>jackson-databind-nullable</artifactId>
|
||||
<version>0.2.2</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.findbugs</groupId>
|
||||
<artifactId>jsr305</artifactId>
|
||||
<version>3.0.2</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-api</artifactId>
|
||||
<version>5.10.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>server</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<version>${openapi-generator-version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>spring-server</id>
|
||||
<goals>
|
||||
<goal>generate</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<inputSpec>openapi/openapi.yaml</inputSpec>
|
||||
<generatorName>spring</generatorName>
|
||||
<generateModels>true</generateModels>
|
||||
<generateApis>true</generateApis>
|
||||
<generateApiDocumentation>true</generateApiDocumentation>
|
||||
<generateSupportingFiles>true</generateSupportingFiles>
|
||||
<apiPackage>${default.package}.api</apiPackage>
|
||||
<modelPackage>${default.package}.model</modelPackage>
|
||||
<supportingFilesToGenerate>ApiUtil.java</supportingFilesToGenerate>
|
||||
<configOptions>
|
||||
<dateLibrary>java8</dateLibrary>
|
||||
<delegatePattern>true</delegatePattern>
|
||||
<useBeanValidation>true</useBeanValidation>
|
||||
<useSpringBoot3>true</useSpringBoot3>
|
||||
</configOptions>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>client</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<version>${openapi-generator-version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>remote</id>
|
||||
<goals>
|
||||
<goal>generate</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<inputSpec>openapi/openapi.yaml</inputSpec>
|
||||
<generatorName>java</generatorName>
|
||||
<configOptions>
|
||||
<dateLibrary>java8</dateLibrary>
|
||||
<useJakartaEe>true</useJakartaEe>
|
||||
</configOptions>
|
||||
<library>resttemplate</library>
|
||||
<apiPackage>${default.package}.api</apiPackage>
|
||||
<modelPackage>${default.package}.model</modelPackage>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
Loading…
Reference in New Issue
Block a user