Browse Source

first commit

hanqingsong 1 year ago
commit
63d4a4f177

+ 33 - 0
.gitignore

@@ -0,0 +1,33 @@
1
+HELP.md
2
+target/
3
+!.mvn/wrapper/maven-wrapper.jar
4
+!**/src/main/**/target/
5
+!**/src/test/**/target/
6
+
7
+### STS ###
8
+.apt_generated
9
+.classpath
10
+.factorypath
11
+.project
12
+.settings
13
+.springBeans
14
+.sts4-cache
15
+
16
+### IntelliJ IDEA ###
17
+.idea
18
+*.iws
19
+*.iml
20
+*.ipr
21
+
22
+### NetBeans ###
23
+/nbproject/private/
24
+/nbbuild/
25
+/dist/
26
+/nbdist/
27
+/.nb-gradle/
28
+build/
29
+!**/src/main/**/build/
30
+!**/src/test/**/build/
31
+
32
+### VS Code ###
33
+.vscode/

BIN
.mvn/wrapper/maven-wrapper.jar


+ 2 - 0
.mvn/wrapper/maven-wrapper.properties

@@ -0,0 +1,2 @@
1
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.5/apache-maven-3.9.5-bin.zip
2
+wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar

+ 7 - 0
README.md

@@ -0,0 +1,7 @@
1
+#swagger document
2
+
3
+##get yaml for /resources/openapi-config.yaml
4
+###示例:http://localhost:9095/v3/api-docs
5
+
6
+##swagger接口地址
7
+###http://localhost:9095/doc.html#/home

+ 308 - 0
mvnw

@@ -0,0 +1,308 @@
1
+#!/bin/sh
2
+# ----------------------------------------------------------------------------
3
+# Licensed to the Apache Software Foundation (ASF) under one
4
+# or more contributor license agreements.  See the NOTICE file
5
+# distributed with this work for additional information
6
+# regarding copyright ownership.  The ASF licenses this file
7
+# to you under the Apache License, Version 2.0 (the
8
+# "License"); you may not use this file except in compliance
9
+# with the License.  You may obtain a copy of the License at
10
+#
11
+#    https://www.apache.org/licenses/LICENSE-2.0
12
+#
13
+# Unless required by applicable law or agreed to in writing,
14
+# software distributed under the License is distributed on an
15
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+# KIND, either express or implied.  See the License for the
17
+# specific language governing permissions and limitations
18
+# under the License.
19
+# ----------------------------------------------------------------------------
20
+
21
+# ----------------------------------------------------------------------------
22
+# Apache Maven Wrapper startup batch script, version 3.2.0
23
+#
24
+# Required ENV vars:
25
+# ------------------
26
+#   JAVA_HOME - location of a JDK home dir
27
+#
28
+# Optional ENV vars
29
+# -----------------
30
+#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
31
+#     e.g. to debug Maven itself, use
32
+#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
33
+#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
34
+# ----------------------------------------------------------------------------
35
+
36
+if [ -z "$MAVEN_SKIP_RC" ] ; then
37
+
38
+  if [ -f /usr/local/etc/mavenrc ] ; then
39
+    . /usr/local/etc/mavenrc
40
+  fi
41
+
42
+  if [ -f /etc/mavenrc ] ; then
43
+    . /etc/mavenrc
44
+  fi
45
+
46
+  if [ -f "$HOME/.mavenrc" ] ; then
47
+    . "$HOME/.mavenrc"
48
+  fi
49
+
50
+fi
51
+
52
+# OS specific support.  $var _must_ be set to either true or false.
53
+cygwin=false;
54
+darwin=false;
55
+mingw=false
56
+case "$(uname)" in
57
+  CYGWIN*) cygwin=true ;;
58
+  MINGW*) mingw=true;;
59
+  Darwin*) darwin=true
60
+    # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
61
+    # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
62
+    if [ -z "$JAVA_HOME" ]; then
63
+      if [ -x "/usr/libexec/java_home" ]; then
64
+        JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME
65
+      else
66
+        JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
67
+      fi
68
+    fi
69
+    ;;
70
+esac
71
+
72
+if [ -z "$JAVA_HOME" ] ; then
73
+  if [ -r /etc/gentoo-release ] ; then
74
+    JAVA_HOME=$(java-config --jre-home)
75
+  fi
76
+fi
77
+
78
+# For Cygwin, ensure paths are in UNIX format before anything is touched
79
+if $cygwin ; then
80
+  [ -n "$JAVA_HOME" ] &&
81
+    JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
82
+  [ -n "$CLASSPATH" ] &&
83
+    CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
84
+fi
85
+
86
+# For Mingw, ensure paths are in UNIX format before anything is touched
87
+if $mingw ; then
88
+  [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] &&
89
+    JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)"
90
+fi
91
+
92
+if [ -z "$JAVA_HOME" ]; then
93
+  javaExecutable="$(which javac)"
94
+  if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then
95
+    # readlink(1) is not available as standard on Solaris 10.
96
+    readLink=$(which readlink)
97
+    if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then
98
+      if $darwin ; then
99
+        javaHome="$(dirname "\"$javaExecutable\"")"
100
+        javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac"
101
+      else
102
+        javaExecutable="$(readlink -f "\"$javaExecutable\"")"
103
+      fi
104
+      javaHome="$(dirname "\"$javaExecutable\"")"
105
+      javaHome=$(expr "$javaHome" : '\(.*\)/bin')
106
+      JAVA_HOME="$javaHome"
107
+      export JAVA_HOME
108
+    fi
109
+  fi
110
+fi
111
+
112
+if [ -z "$JAVACMD" ] ; then
113
+  if [ -n "$JAVA_HOME"  ] ; then
114
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
115
+      # IBM's JDK on AIX uses strange locations for the executables
116
+      JAVACMD="$JAVA_HOME/jre/sh/java"
117
+    else
118
+      JAVACMD="$JAVA_HOME/bin/java"
119
+    fi
120
+  else
121
+    JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)"
122
+  fi
123
+fi
124
+
125
+if [ ! -x "$JAVACMD" ] ; then
126
+  echo "Error: JAVA_HOME is not defined correctly." >&2
127
+  echo "  We cannot execute $JAVACMD" >&2
128
+  exit 1
129
+fi
130
+
131
+if [ -z "$JAVA_HOME" ] ; then
132
+  echo "Warning: JAVA_HOME environment variable is not set."
133
+fi
134
+
135
+# traverses directory structure from process work directory to filesystem root
136
+# first directory with .mvn subdirectory is considered project base directory
137
+find_maven_basedir() {
138
+  if [ -z "$1" ]
139
+  then
140
+    echo "Path not specified to find_maven_basedir"
141
+    return 1
142
+  fi
143
+
144
+  basedir="$1"
145
+  wdir="$1"
146
+  while [ "$wdir" != '/' ] ; do
147
+    if [ -d "$wdir"/.mvn ] ; then
148
+      basedir=$wdir
149
+      break
150
+    fi
151
+    # workaround for JBEAP-8937 (on Solaris 10/Sparc)
152
+    if [ -d "${wdir}" ]; then
153
+      wdir=$(cd "$wdir/.." || exit 1; pwd)
154
+    fi
155
+    # end of workaround
156
+  done
157
+  printf '%s' "$(cd "$basedir" || exit 1; pwd)"
158
+}
159
+
160
+# concatenates all lines of a file
161
+concat_lines() {
162
+  if [ -f "$1" ]; then
163
+    # Remove \r in case we run on Windows within Git Bash
164
+    # and check out the repository with auto CRLF management
165
+    # enabled. Otherwise, we may read lines that are delimited with
166
+    # \r\n and produce $'-Xarg\r' rather than -Xarg due to word
167
+    # splitting rules.
168
+    tr -s '\r\n' ' ' < "$1"
169
+  fi
170
+}
171
+
172
+log() {
173
+  if [ "$MVNW_VERBOSE" = true ]; then
174
+    printf '%s\n' "$1"
175
+  fi
176
+}
177
+
178
+BASE_DIR=$(find_maven_basedir "$(dirname "$0")")
179
+if [ -z "$BASE_DIR" ]; then
180
+  exit 1;
181
+fi
182
+
183
+MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR
184
+log "$MAVEN_PROJECTBASEDIR"
185
+
186
+##########################################################################################
187
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
188
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
189
+##########################################################################################
190
+wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar"
191
+if [ -r "$wrapperJarPath" ]; then
192
+    log "Found $wrapperJarPath"
193
+else
194
+    log "Couldn't find $wrapperJarPath, downloading it ..."
195
+
196
+    if [ -n "$MVNW_REPOURL" ]; then
197
+      wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
198
+    else
199
+      wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
200
+    fi
201
+    while IFS="=" read -r key value; do
202
+      # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' )
203
+      safeValue=$(echo "$value" | tr -d '\r')
204
+      case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;;
205
+      esac
206
+    done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
207
+    log "Downloading from: $wrapperUrl"
208
+
209
+    if $cygwin; then
210
+      wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
211
+    fi
212
+
213
+    if command -v wget > /dev/null; then
214
+        log "Found wget ... using wget"
215
+        [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet"
216
+        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
217
+            wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
218
+        else
219
+            wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
220
+        fi
221
+    elif command -v curl > /dev/null; then
222
+        log "Found curl ... using curl"
223
+        [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent"
224
+        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
225
+            curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
226
+        else
227
+            curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
228
+        fi
229
+    else
230
+        log "Falling back to using Java to download"
231
+        javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java"
232
+        javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class"
233
+        # For Cygwin, switch paths to Windows format before running javac
234
+        if $cygwin; then
235
+          javaSource=$(cygpath --path --windows "$javaSource")
236
+          javaClass=$(cygpath --path --windows "$javaClass")
237
+        fi
238
+        if [ -e "$javaSource" ]; then
239
+            if [ ! -e "$javaClass" ]; then
240
+                log " - Compiling MavenWrapperDownloader.java ..."
241
+                ("$JAVA_HOME/bin/javac" "$javaSource")
242
+            fi
243
+            if [ -e "$javaClass" ]; then
244
+                log " - Running MavenWrapperDownloader.java ..."
245
+                ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath"
246
+            fi
247
+        fi
248
+    fi
249
+fi
250
+##########################################################################################
251
+# End of extension
252
+##########################################################################################
253
+
254
+# If specified, validate the SHA-256 sum of the Maven wrapper jar file
255
+wrapperSha256Sum=""
256
+while IFS="=" read -r key value; do
257
+  case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;;
258
+  esac
259
+done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
260
+if [ -n "$wrapperSha256Sum" ]; then
261
+  wrapperSha256Result=false
262
+  if command -v sha256sum > /dev/null; then
263
+    if echo "$wrapperSha256Sum  $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then
264
+      wrapperSha256Result=true
265
+    fi
266
+  elif command -v shasum > /dev/null; then
267
+    if echo "$wrapperSha256Sum  $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then
268
+      wrapperSha256Result=true
269
+    fi
270
+  else
271
+    echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available."
272
+    echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties."
273
+    exit 1
274
+  fi
275
+  if [ $wrapperSha256Result = false ]; then
276
+    echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2
277
+    echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2
278
+    echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2
279
+    exit 1
280
+  fi
281
+fi
282
+
283
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
284
+
285
+# For Cygwin, switch paths to Windows format before running java
286
+if $cygwin; then
287
+  [ -n "$JAVA_HOME" ] &&
288
+    JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
289
+  [ -n "$CLASSPATH" ] &&
290
+    CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
291
+  [ -n "$MAVEN_PROJECTBASEDIR" ] &&
292
+    MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
293
+fi
294
+
295
+# Provide a "standardized" way to retrieve the CLI args that will
296
+# work with both Windows and non-Windows executions.
297
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*"
298
+export MAVEN_CMD_LINE_ARGS
299
+
300
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
301
+
302
+# shellcheck disable=SC2086 # safe args
303
+exec "$JAVACMD" \
304
+  $MAVEN_OPTS \
305
+  $MAVEN_DEBUG_OPTS \
306
+  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
307
+  "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
308
+  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

+ 205 - 0
mvnw.cmd

@@ -0,0 +1,205 @@
1
+@REM ----------------------------------------------------------------------------
2
+@REM Licensed to the Apache Software Foundation (ASF) under one
3
+@REM or more contributor license agreements.  See the NOTICE file
4
+@REM distributed with this work for additional information
5
+@REM regarding copyright ownership.  The ASF licenses this file
6
+@REM to you under the Apache License, Version 2.0 (the
7
+@REM "License"); you may not use this file except in compliance
8
+@REM with the License.  You may obtain a copy of the License at
9
+@REM
10
+@REM    https://www.apache.org/licenses/LICENSE-2.0
11
+@REM
12
+@REM Unless required by applicable law or agreed to in writing,
13
+@REM software distributed under the License is distributed on an
14
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+@REM KIND, either express or implied.  See the License for the
16
+@REM specific language governing permissions and limitations
17
+@REM under the License.
18
+@REM ----------------------------------------------------------------------------
19
+
20
+@REM ----------------------------------------------------------------------------
21
+@REM Apache Maven Wrapper startup batch script, version 3.2.0
22
+@REM
23
+@REM Required ENV vars:
24
+@REM JAVA_HOME - location of a JDK home dir
25
+@REM
26
+@REM Optional ENV vars
27
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
28
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
29
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
30
+@REM     e.g. to debug Maven itself, use
31
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
32
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
33
+@REM ----------------------------------------------------------------------------
34
+
35
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
36
+@echo off
37
+@REM set title of command window
38
+title %0
39
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
40
+@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
41
+
42
+@REM set %HOME% to equivalent of $HOME
43
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
44
+
45
+@REM Execute a user defined script before this one
46
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
47
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
48
+if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
49
+if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
50
+:skipRcPre
51
+
52
+@setlocal
53
+
54
+set ERROR_CODE=0
55
+
56
+@REM To isolate internal variables from possible post scripts, we use another setlocal
57
+@setlocal
58
+
59
+@REM ==== START VALIDATION ====
60
+if not "%JAVA_HOME%" == "" goto OkJHome
61
+
62
+echo.
63
+echo Error: JAVA_HOME not found in your environment. >&2
64
+echo Please set the JAVA_HOME variable in your environment to match the >&2
65
+echo location of your Java installation. >&2
66
+echo.
67
+goto error
68
+
69
+:OkJHome
70
+if exist "%JAVA_HOME%\bin\java.exe" goto init
71
+
72
+echo.
73
+echo Error: JAVA_HOME is set to an invalid directory. >&2
74
+echo JAVA_HOME = "%JAVA_HOME%" >&2
75
+echo Please set the JAVA_HOME variable in your environment to match the >&2
76
+echo location of your Java installation. >&2
77
+echo.
78
+goto error
79
+
80
+@REM ==== END VALIDATION ====
81
+
82
+:init
83
+
84
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
85
+@REM Fallback to current working directory if not found.
86
+
87
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
88
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
89
+
90
+set EXEC_DIR=%CD%
91
+set WDIR=%EXEC_DIR%
92
+:findBaseDir
93
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
94
+cd ..
95
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
96
+set WDIR=%CD%
97
+goto findBaseDir
98
+
99
+:baseDirFound
100
+set MAVEN_PROJECTBASEDIR=%WDIR%
101
+cd "%EXEC_DIR%"
102
+goto endDetectBaseDir
103
+
104
+:baseDirNotFound
105
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
106
+cd "%EXEC_DIR%"
107
+
108
+:endDetectBaseDir
109
+
110
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
111
+
112
+@setlocal EnableExtensions EnableDelayedExpansion
113
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
114
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
115
+
116
+:endReadAdditionalConfig
117
+
118
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
119
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
120
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
121
+
122
+set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
123
+
124
+FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
125
+    IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
126
+)
127
+
128
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
129
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
130
+if exist %WRAPPER_JAR% (
131
+    if "%MVNW_VERBOSE%" == "true" (
132
+        echo Found %WRAPPER_JAR%
133
+    )
134
+) else (
135
+    if not "%MVNW_REPOURL%" == "" (
136
+        SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
137
+    )
138
+    if "%MVNW_VERBOSE%" == "true" (
139
+        echo Couldn't find %WRAPPER_JAR%, downloading it ...
140
+        echo Downloading from: %WRAPPER_URL%
141
+    )
142
+
143
+    powershell -Command "&{"^
144
+		"$webclient = new-object System.Net.WebClient;"^
145
+		"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
146
+		"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
147
+		"}"^
148
+		"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
149
+		"}"
150
+    if "%MVNW_VERBOSE%" == "true" (
151
+        echo Finished downloading %WRAPPER_JAR%
152
+    )
153
+)
154
+@REM End of extension
155
+
156
+@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file
157
+SET WRAPPER_SHA_256_SUM=""
158
+FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
159
+    IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B
160
+)
161
+IF NOT %WRAPPER_SHA_256_SUM%=="" (
162
+    powershell -Command "&{"^
163
+       "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^
164
+       "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^
165
+       "  Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^
166
+       "  Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^
167
+       "  Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^
168
+       "  exit 1;"^
169
+       "}"^
170
+       "}"
171
+    if ERRORLEVEL 1 goto error
172
+)
173
+
174
+@REM Provide a "standardized" way to retrieve the CLI args that will
175
+@REM work with both Windows and non-Windows executions.
176
+set MAVEN_CMD_LINE_ARGS=%*
177
+
178
+%MAVEN_JAVA_EXE% ^
179
+  %JVM_CONFIG_MAVEN_PROPS% ^
180
+  %MAVEN_OPTS% ^
181
+  %MAVEN_DEBUG_OPTS% ^
182
+  -classpath %WRAPPER_JAR% ^
183
+  "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
184
+  %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
185
+if ERRORLEVEL 1 goto error
186
+goto end
187
+
188
+:error
189
+set ERROR_CODE=1
190
+
191
+:end
192
+@endlocal & set ERROR_CODE=%ERROR_CODE%
193
+
194
+if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
195
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
196
+if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
197
+if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
198
+:skipRcPost
199
+
200
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
201
+if "%MAVEN_BATCH_PAUSE%"=="on" pause
202
+
203
+if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
204
+
205
+cmd /C exit /B %ERROR_CODE%

+ 95 - 0
pom.xml

@@ -0,0 +1,95 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4
+    <modelVersion>4.0.0</modelVersion>
5
+    <parent>
6
+        <groupId>org.springframework.boot</groupId>
7
+        <artifactId>spring-boot-starter-parent</artifactId>
8
+        <version>2.7.0</version>
9
+        <relativePath/> <!-- lookup parent from repository -->
10
+    </parent>
11
+    <groupId>com.unis</groupId>
12
+    <artifactId>flow-long</artifactId>
13
+    <version>0.0.1-SNAPSHOT</version>
14
+    <name>flow-long</name>
15
+    <description>Flow long project for Spring Boot</description>
16
+    <properties>
17
+        <skipTests>true</skipTests>
18
+        <java.version>1.8</java.version>
19
+        <mybatis.version>2.1.4</mybatis.version>
20
+        <fastjson.version>1.2.83</fastjson.version>
21
+        <mybatisPlus.version>3.4.1</mybatisPlus.version>
22
+        <spring-cloud.version>2021.0.5</spring-cloud.version>
23
+        <springdoc.version>1.6.14</springdoc.version>
24
+        <knife4j.version>4.0.0</knife4j.version>
25
+    </properties>
26
+    <dependencies>
27
+        <!--接口文档-->
28
+        <dependency>
29
+            <groupId>org.springdoc</groupId>
30
+            <artifactId>springdoc-openapi-webmvc-core</artifactId>
31
+            <version>1.6.9</version>
32
+        </dependency>
33
+        <!--<dependency>
34
+            <groupId>org.springdoc</groupId>
35
+            <artifactId>springdoc-openapi-security</artifactId>
36
+            <version>1.6.9</version>
37
+        </dependency>-->
38
+        <dependency>
39
+            <groupId>io.swagger.core.v3</groupId>
40
+            <artifactId>swagger-annotations</artifactId>
41
+            <version>2.2.0</version>
42
+        </dependency>
43
+        <dependency>
44
+            <groupId>org.springframework.cloud</groupId>
45
+            <artifactId>spring-cloud-commons</artifactId>
46
+            <scope>provided</scope>
47
+        </dependency>
48
+        <dependency>
49
+            <groupId>org.springdoc</groupId>
50
+            <artifactId>springdoc-openapi-ui</artifactId>
51
+            <version>${springdoc.version}</version>
52
+        </dependency>
53
+        <dependency>
54
+            <groupId>com.github.xiaoymin</groupId>
55
+            <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
56
+            <version>${knife4j.version}</version>
57
+        </dependency>
58
+        <dependency>
59
+            <groupId>org.projectlombok</groupId>
60
+            <artifactId>lombok</artifactId>
61
+        </dependency>
62
+        <dependency>
63
+            <groupId>org.springframework.boot</groupId>
64
+            <artifactId>spring-boot-starter-web</artifactId>
65
+        </dependency>
66
+        <dependency>
67
+            <groupId>org.springframework.boot</groupId>
68
+            <artifactId>spring-boot-starter-test</artifactId>
69
+            <scope>test</scope>
70
+        </dependency>
71
+    </dependencies>
72
+
73
+    <dependencyManagement>
74
+        <dependencies>
75
+            <dependency>
76
+                <groupId>org.springframework.cloud</groupId>
77
+                <artifactId>spring-cloud-dependencies</artifactId>
78
+                <version>${spring-cloud.version}</version>
79
+                <type>pom</type>
80
+                <scope>import</scope>
81
+            </dependency>
82
+        </dependencies>
83
+    </dependencyManagement>
84
+
85
+    <build>
86
+        <finalName>${project.artifactId}</finalName>
87
+        <plugins>
88
+            <plugin>
89
+                <groupId>org.springframework.boot</groupId>
90
+                <artifactId>spring-boot-maven-plugin</artifactId>
91
+            </plugin>
92
+        </plugins>
93
+    </build>
94
+
95
+</project>

+ 15 - 0
src/main/java/com/unis/FlowLongApplication.java

@@ -0,0 +1,15 @@
1
+package com.unis;
2
+
3
+import com.unis.common.swagger.annotation.EnableOpenApi;
4
+import org.springframework.boot.SpringApplication;
5
+import org.springframework.boot.autoconfigure.SpringBootApplication;
6
+
7
+@EnableOpenApi(value = "admin", isMicro = false)
8
+@SpringBootApplication
9
+public class FlowLongApplication {
10
+
11
+    public static void main(String[] args) {
12
+        SpringApplication.run(FlowLongApplication.class, args);
13
+    }
14
+
15
+}

+ 44 - 0
src/main/java/com/unis/common/factory/YamlPropertySourceFactory.java

@@ -0,0 +1,44 @@
1
+package com.unis.common.factory;
2
+
3
+import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
4
+import org.springframework.core.env.PropertiesPropertySource;
5
+import org.springframework.core.env.PropertySource;
6
+import org.springframework.core.io.support.EncodedResource;
7
+import org.springframework.core.io.support.PropertySourceFactory;
8
+import org.springframework.lang.Nullable;
9
+
10
+import java.io.FileNotFoundException;
11
+import java.io.IOException;
12
+import java.util.Properties;
13
+
14
+/**
15
+ * @author avenue
16
+ * @date 2022/3/29
17
+ * <p>
18
+ * 读取自定义 yaml 文件工厂类
19
+ */
20
+public class YamlPropertySourceFactory implements PropertySourceFactory {
21
+
22
+	@Override
23
+	public PropertySource<?> createPropertySource(@Nullable String name, EncodedResource resource) throws IOException {
24
+		Properties propertiesFromYaml = loadYamlIntoProperties(resource);
25
+		String sourceName = name != null ? name : resource.getResource().getFilename();
26
+		return new PropertiesPropertySource(sourceName, propertiesFromYaml);
27
+	}
28
+
29
+	private Properties loadYamlIntoProperties(EncodedResource resource) throws FileNotFoundException {
30
+		try {
31
+			YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean();
32
+			factory.setResources(resource.getResource());
33
+			factory.afterPropertiesSet();
34
+			return factory.getObject();
35
+		}
36
+		catch (IllegalStateException e) {
37
+			Throwable cause = e.getCause();
38
+			if (cause instanceof FileNotFoundException)
39
+				throw (FileNotFoundException) e.getCause();
40
+			throw e;
41
+		}
42
+	}
43
+
44
+}

+ 55 - 0
src/main/java/com/unis/common/swagger/annotation/EnableOpenApi.java

@@ -0,0 +1,55 @@
1
+/*
2
+ * Copyright (c) 2020 pig4cloud Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ *     http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+package com.unis.common.swagger.annotation;
18
+
19
+import com.unis.common.factory.YamlPropertySourceFactory;
20
+import com.unis.common.swagger.config.OpenAPIDefinitionImportSelector;
21
+import com.unis.common.swagger.support.SwaggerProperties;
22
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
23
+import org.springframework.context.annotation.Import;
24
+import org.springframework.context.annotation.PropertySource;
25
+
26
+import java.lang.annotation.*;
27
+
28
+/**
29
+ * 开启 pig spring doc
30
+ *
31
+ * @author avenue
32
+ * @date 2022-03-26
33
+ */
34
+@Target({ ElementType.TYPE })
35
+@Retention(RetentionPolicy.RUNTIME)
36
+@Documented
37
+@Inherited
38
+@EnableConfigurationProperties(SwaggerProperties.class)
39
+@Import({ OpenAPIDefinitionImportSelector.class })
40
+@PropertySource(value = "classpath:openapi-config.yaml", factory = YamlPropertySourceFactory.class)
41
+public @interface EnableOpenApi {
42
+
43
+	/**
44
+	 * 网关路由前缀
45
+	 * @return String
46
+	 */
47
+	String value() default "";
48
+
49
+	/**
50
+	 * 是否是微服务架构
51
+	 * @return true
52
+	 */
53
+	boolean isMicro() default true;
54
+
55
+}

+ 90 - 0
src/main/java/com/unis/common/swagger/config/OpenAPIDefinition.java

@@ -0,0 +1,90 @@
1
+/*
2
+ *    Copyright (c) 2018-2025, avenue All rights reserved.
3
+ *
4
+ * Redistribution and use in source and binary forms, with or without
5
+ * modification, are permitted provided that the following conditions are met:
6
+ *
7
+ * Redistributions of source code must retain the above copyright notice,
8
+ * this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright
10
+ * notice, this list of conditions and the following disclaimer in the
11
+ * documentation and/or other materials provided with the distribution.
12
+ * Neither the name of the pig4cloud.com developer nor the names of its
13
+ * contributors may be used to endorse or promote products derived from
14
+ * this software without specific prior written permission.
15
+ * Author: avenue
16
+ */
17
+package com.unis.common.swagger.config;
18
+
19
+import com.unis.common.swagger.support.SwaggerProperties;
20
+import io.swagger.v3.oas.models.OpenAPI;
21
+import io.swagger.v3.oas.models.info.Info;
22
+import io.swagger.v3.oas.models.security.OAuthFlow;
23
+import io.swagger.v3.oas.models.security.OAuthFlows;
24
+import io.swagger.v3.oas.models.security.Scopes;
25
+import io.swagger.v3.oas.models.security.SecurityScheme;
26
+import io.swagger.v3.oas.models.servers.Server;
27
+import lombok.RequiredArgsConstructor;
28
+import lombok.Setter;
29
+import org.springframework.beans.BeansException;
30
+import org.springframework.beans.factory.InitializingBean;
31
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
32
+import org.springframework.context.ApplicationContext;
33
+import org.springframework.context.ApplicationContextAware;
34
+import org.springframework.http.HttpHeaders;
35
+
36
+import java.util.ArrayList;
37
+import java.util.List;
38
+
39
+/**
40
+ * swagger配置
41
+ *
42
+ * <p>
43
+ * 禁用方法1:使用注解@Profile({"dev","test"})
44
+ *
45
+ * 表示在开发或测试环境开启,而在生产关闭。(推荐使用) 禁用方法2:使用注解@ConditionalOnProperty(name = "swagger.enable",
46
+ *
47
+ * havingValue = "true") 然后在测试配置或者开发配置中添加swagger.enable=true即可开启,生产环境不填则默认关闭Swagger.
48
+ * </p>
49
+ *
50
+ * @author avenue
51
+ */
52
+@RequiredArgsConstructor
53
+@ConditionalOnProperty(name = "swagger.enabled", matchIfMissing = true)
54
+public class OpenAPIDefinition extends OpenAPI implements InitializingBean, ApplicationContextAware {
55
+
56
+	@Setter
57
+	private String path;
58
+
59
+	private ApplicationContext applicationContext;
60
+
61
+	private SecurityScheme securityScheme(SwaggerProperties swaggerProperties) {
62
+		OAuthFlow clientCredential = new OAuthFlow();
63
+		clientCredential.setTokenUrl(swaggerProperties.getTokenUrl());
64
+		clientCredential.setScopes(new Scopes().addString(swaggerProperties.getScope(), swaggerProperties.getScope()));
65
+		OAuthFlows oauthFlows = new OAuthFlows();
66
+		oauthFlows.password(clientCredential);
67
+		SecurityScheme securityScheme = new SecurityScheme();
68
+		securityScheme.setType(SecurityScheme.Type.OAUTH2);
69
+		securityScheme.setFlows(oauthFlows);
70
+		return securityScheme;
71
+	}
72
+
73
+	@Override
74
+	public void afterPropertiesSet() throws Exception {
75
+		SwaggerProperties swaggerProperties = applicationContext.getBean(SwaggerProperties.class);
76
+		this.info(new Info().title(swaggerProperties.getTitle()));
77
+		// oauth2.0 password
78
+		this.schemaRequirement(HttpHeaders.AUTHORIZATION, this.securityScheme(swaggerProperties));
79
+		// servers
80
+		List<Server> serverList = new ArrayList<>();
81
+		serverList.add(new Server().url(swaggerProperties.getGateway() + "/" + path));
82
+		this.servers(serverList);
83
+	}
84
+
85
+	@Override
86
+	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
87
+		this.applicationContext = applicationContext;
88
+	}
89
+
90
+}

+ 47 - 0
src/main/java/com/unis/common/swagger/config/OpenAPIDefinitionImportSelector.java

@@ -0,0 +1,47 @@
1
+package com.unis.common.swagger.config;
2
+
3
+import com.unis.common.swagger.annotation.EnableOpenApi;
4
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
5
+import org.springframework.beans.factory.support.BeanDefinitionRegistry;
6
+import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
7
+import org.springframework.core.type.AnnotationMetadata;
8
+
9
+import java.util.Map;
10
+import java.util.Objects;
11
+
12
+/**
13
+ * openapi 配置类
14
+ *
15
+ * @author avenue
16
+ * @date 2023/1/1
17
+ */
18
+public class OpenAPIDefinitionImportSelector implements ImportBeanDefinitionRegistrar {
19
+
20
+	@Override
21
+	public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {
22
+
23
+		Map<String, Object> annotationAttributes = metadata.getAnnotationAttributes(EnableOpenApi.class.getName(),
24
+				true);
25
+		Object value = annotationAttributes.get("value");
26
+		if (Objects.isNull(value)) {
27
+			return;
28
+		}
29
+
30
+		BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(OpenAPIDefinition.class);
31
+		definition.addPropertyValue("path", value);
32
+
33
+		registry.registerBeanDefinition("openAPIDefinition", definition.getBeanDefinition());
34
+
35
+		// 如果是微服务架构则,引入了服务发现声明相关的元数据配置
36
+		Object isMicro = annotationAttributes.getOrDefault("isMicro", true);
37
+		if (isMicro.equals(false)) {
38
+			return;
39
+		}
40
+
41
+		BeanDefinitionBuilder openAPIMetadata = BeanDefinitionBuilder
42
+				.genericBeanDefinition(OpenAPIMetadataConfiguration.class);
43
+		openAPIMetadata.addPropertyValue("path", value);
44
+		registry.registerBeanDefinition("openAPIMetadata", openAPIMetadata.getBeanDefinition());
45
+	}
46
+
47
+}

+ 32 - 0
src/main/java/com/unis/common/swagger/config/OpenAPIMetadataConfiguration.java

@@ -0,0 +1,32 @@
1
+package com.unis.common.swagger.config;
2
+
3
+import lombok.Setter;
4
+import org.springframework.beans.BeansException;
5
+import org.springframework.beans.factory.InitializingBean;
6
+import org.springframework.cloud.client.ServiceInstance;
7
+import org.springframework.context.ApplicationContext;
8
+import org.springframework.context.ApplicationContextAware;
9
+
10
+/**
11
+ * @author avenue
12
+ * @date 2023/1/4
13
+ */
14
+public class OpenAPIMetadataConfiguration implements InitializingBean, ApplicationContextAware {
15
+
16
+	private ApplicationContext applicationContext;
17
+
18
+	@Setter
19
+	private String path;
20
+
21
+	@Override
22
+	public void afterPropertiesSet() throws Exception {
23
+		ServiceInstance serviceInstance = applicationContext.getBean(ServiceInstance.class);
24
+		serviceInstance.getMetadata().put("spring-doc", path);
25
+	}
26
+
27
+	@Override
28
+	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
29
+		this.applicationContext = applicationContext;
30
+	}
31
+
32
+}

+ 86 - 0
src/main/java/com/unis/common/swagger/support/SwaggerProperties.java

@@ -0,0 +1,86 @@
1
+/*
2
+ *    Copyright (c) 2018-2025, avenue All rights reserved.
3
+ *
4
+ * Redistribution and use in source and binary forms, with or without
5
+ * modification, are permitted provided that the following conditions are met:
6
+ *
7
+ * Redistributions of source code must retain the above copyright notice,
8
+ * this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright
10
+ * notice, this list of conditions and the following disclaimer in the
11
+ * documentation and/or other materials provided with the distribution.
12
+ * Neither the name of the pig4cloud.com developer nor the names of its
13
+ * contributors may be used to endorse or promote products derived from
14
+ * this software without specific prior written permission.
15
+ * Author: avenue
16
+ */
17
+package com.unis.common.swagger.support;
18
+
19
+import lombok.Data;
20
+import org.springframework.boot.context.properties.ConfigurationProperties;
21
+
22
+import java.util.ArrayList;
23
+import java.util.List;
24
+import java.util.Map;
25
+
26
+/**
27
+ * SwaggerProperties
28
+ *
29
+ * @author avenue
30
+ * @date 2018/7/25 14:00
31
+ */
32
+@Data
33
+@ConfigurationProperties("swagger")
34
+public class SwaggerProperties {
35
+
36
+	/**
37
+	 * 是否开启swagger
38
+	 */
39
+	private Boolean enabled = true;
40
+
41
+	/**
42
+	 * swagger会解析的包路径
43
+	 **/
44
+	private String basePackage = "";
45
+
46
+	/**
47
+	 * swagger会解析的url规则
48
+	 **/
49
+	private List<String> basePath = new ArrayList<>();
50
+
51
+	/**
52
+	 * 在basePath基础上需要排除的url规则
53
+	 **/
54
+	private List<String> excludePath = new ArrayList<>();
55
+
56
+	/**
57
+	 * 需要排除的服务
58
+	 */
59
+	private List<String> ignoreProviders = new ArrayList<>();
60
+
61
+	/**
62
+	 * 标题
63
+	 **/
64
+	private String title = "";
65
+
66
+	/**
67
+	 * 网关
68
+	 */
69
+	private String gateway;
70
+
71
+	/**
72
+	 * 获取token
73
+	 */
74
+	private String tokenUrl;
75
+
76
+	/**
77
+	 * 作用域
78
+	 */
79
+	private String scope;
80
+
81
+	/**
82
+	 * 服务转发配置
83
+	 */
84
+	private Map<String, String> services;
85
+
86
+}

+ 26 - 0
src/main/resources/application.yml

@@ -0,0 +1,26 @@
1
+server:
2
+  port: 9095
3
+  tomcat:
4
+    uri-encoding: UTF-8
5
+  servlet:
6
+    context-path: /
7
+spring:
8
+  application:
9
+    name: flow-long
10
+## spring security 配置
11
+security:
12
+  oauth2:
13
+    client:
14
+      client-id: ENC(ltJPpR50wT0oIY9kfOe1Iw==)
15
+      client-secret: ENC(ltJPpR50wT0oIY9kfOe1Iw==)
16
+      scope: server
17
+      ignore-urls:
18
+        - /webjars/**
19
+        - /v3/api-docs/**
20
+        - /doc.html
21
+        - /swagger-resources
22
+        - /css/**
23
+        - /error
24
+        - /druid/**
25
+        - /actuator/**
26
+        - /code/**

+ 7 - 0
src/main/resources/openapi-config.yaml

@@ -0,0 +1,7 @@
1
+# swagger 配置
2
+swagger:
3
+  enabled: true
4
+  title: avenue Swagger API
5
+  gateway: http://${GATEWAY-HOST:avenue-gateway}:${GATEWAY-PORT:9999}
6
+  token-url: ${swagger.gateway}/auth/oauth2/token
7
+  scope: server

+ 13 - 0
src/test/java/com/unis/FlowLongApplicationTests.java

@@ -0,0 +1,13 @@
1
+package com.unis;
2
+
3
+import org.junit.jupiter.api.Test;
4
+import org.springframework.boot.test.context.SpringBootTest;
5
+
6
+@SpringBootTest
7
+class FlowLongApplicationTests {
8
+
9
+    @Test
10
+    void contextLoads() {
11
+    }
12
+
13
+}