jdk 17
This commit is contained in:
2
demo/backend/demo/.gitattributes
vendored
Normal file
2
demo/backend/demo/.gitattributes
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/mvnw text eol=lf
|
||||
*.cmd text eol=crlf
|
||||
33
demo/backend/demo/.gitignore
vendored
Normal file
33
demo/backend/demo/.gitignore
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
HELP.md
|
||||
target/
|
||||
.mvn/wrapper/maven-wrapper.jar
|
||||
!**/src/main/**/target/
|
||||
!**/src/test/**/target/
|
||||
|
||||
### STS ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
build/
|
||||
!**/src/main/**/build/
|
||||
!**/src/test/**/build/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
63
demo/backend/demo/pom.xml
Normal file
63
demo/backend/demo/pom.xml
Normal file
@@ -0,0 +1,63 @@
|
||||
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>3.5.10</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<groupId>org.lingniu</groupId>
|
||||
<artifactId>demo</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>demo</name>
|
||||
<description>demo</description>
|
||||
<url/>
|
||||
<licenses>
|
||||
<license/>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer/>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection/>
|
||||
<developerConnection/>
|
||||
<tag/>
|
||||
<url/>
|
||||
</scm>
|
||||
<properties>
|
||||
<java.version>17</java.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.lingniu</groupId>
|
||||
<artifactId>oauth2-login-sdk</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.lingniu.example.demo;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@SpringBootApplication(scanBasePackages = {"org.lingniu.**"})
|
||||
public class DemoApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(DemoApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package org.lingniu.example.demo.controller;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.lingniu.sdk.model.base.CommonResult;
|
||||
import org.lingniu.sdk.model.user.UserInfo;
|
||||
import org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientProperties;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RequestMapping("/test")
|
||||
@RestController
|
||||
public class DemoController {
|
||||
|
||||
private final OAuth2ClientProperties oAuth2ClientProperties;
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
public DemoController(OAuth2ClientProperties oAuth2ClientProperties, ObjectMapper objectMapper) {
|
||||
this.oAuth2ClientProperties = oAuth2ClientProperties;
|
||||
this.objectMapper = objectMapper;
|
||||
}
|
||||
@GetMapping("/getUserInfo")
|
||||
public CommonResult<UserInfo> getUserInfo(@AuthenticationPrincipal UserInfo userInfo) throws Exception {
|
||||
return CommonResult.success(userInfo);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
# @no-redirect
|
||||
GET localhost:10001/oauth2/authorization/demo
|
||||
|
||||
###
|
||||
POST http://localhost:8000/oauth2/authorize
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
Accept: application/json
|
||||
Idp: 387cec08371f4ebfb61074d41a94046e
|
||||
Cookie: idp_refresh_token=7bb21a0dcac94aec99f08ae6a2d6db30
|
||||
|
||||
response_type=code&client_id=b55c88c20db94790a60a5075&scope=openid%20profile%20perms&state=MK1s_JKXsVowOsaGIGK3UK00yVgjUM-lgV-T7tOZdIQ%3D&redirect_uri=http://localhost:9506/oauth2/callback&nonce=rXdsOr0tczTckUSP_RKZ5ABmP575Z4JrTLOxCQ1nt3U
|
||||
|
||||
|
||||
####
|
||||
GET http://localhost:10001/login/oauth2/code/demo?code=ua3zRRX2YMHsGmYaY4CGEvtklZbCzNtT5sOjguXzhY68zoKqnA83NlQXtG1dN-X_mv4Sn5MaYERkymxk9EWJzpHA_RB523keRb25jmIt5LgUjWJtwD4gJmQJulPOXFO1&state=MK1s_JKXsVowOsaGIGK3UK00yVgjUM-lgV-T7tOZdIQ%3D
|
||||
|
||||
###
|
||||
GET http://localhost:10001/idp/routes
|
||||
#Authorization: 85a9f4d6fef34763b4437830ec331570
|
||||
Authorization: Bearer eyJraWQiOiJpZHAiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6ImI1NWM4OGMyMGRiOTQ3OTBhNjBhNTA3NSIsIm5iZiI6MTc3MDM5MjMwMiwic2NvcGUiOlsib3BlbmlkIiwicHJvZmlsZSIsInBlcm1zIl0sImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIsImV4cCI6MTc3MDQzNTUwMiwiaWF0IjoxNzcwMzkyMzAyLCJqdGkiOiIxMmRjZjZmOS0zMjNhLTRhMmUtYjI4Ni1lNDcyOTFhNjc4YTYifQ.MC2khfn7Q2PeU5NB9BCazj-4oWsS_9VIoRLvVZfRiM4RKyAw6VkBv0bNWNuIcUAzZ7GpfIsGMufjsDiVgj7tBK_MWweasWz7DRDc_QCkFt8RZxK2LjxZAilFmXZOaydUNnlGgBmI6S-xAD5N5ltx8OTEdWHuD7tm7S8ppXlvTCk4QSeNd3UYXyXPkR408HOk5ZWTH4PudGVJN5q5gDUAbM9FyN7NejGuJQ4gmHuur7oDhMEqmBQjiv6OnJZko6GszOcN0-nkRJX-KzXV45uIkEF9BaUhJvC6EhotqioVXLuLznX3yB9iuFGqekpS3uHOYwzZF0CHR6xTHg29hvLOxw
|
||||
#Cookie: app_refresh_token=ce08d9a6b3064311ac163a7806b811ef
|
||||
|
||||
|
||||
###
|
||||
GET http://localhost:8000/account/getRouters
|
||||
#Authorization: 85a9f4d6fef34763b4437830ec331570
|
||||
Authorization: Bearer eyJraWQiOiJpZHAiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6ImI1NWM4OGMyMGRiOTQ3OTBhNjBhNTA3NSIsIm5iZiI6MTc3MDM5MjMwMiwic2NvcGUiOlsib3BlbmlkIiwicHJvZmlsZSIsInBlcm1zIl0sImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIsImV4cCI6MTc3MDQzNTUwMiwiaWF0IjoxNzcwMzkyMzAyLCJqdGkiOiIxMmRjZjZmOS0zMjNhLTRhMmUtYjI4Ni1lNDcyOTFhNjc4YTYifQ.MC2khfn7Q2PeU5NB9BCazj-4oWsS_9VIoRLvVZfRiM4RKyAw6VkBv0bNWNuIcUAzZ7GpfIsGMufjsDiVgj7tBK_MWweasWz7DRDc_QCkFt8RZxK2LjxZAilFmXZOaydUNnlGgBmI6S-xAD5N5ltx8OTEdWHuD7tm7S8ppXlvTCk4QSeNd3UYXyXPkR408HOk5ZWTH4PudGVJN5q5gDUAbM9FyN7NejGuJQ4gmHuur7oDhMEqmBQjiv6OnJZko6GszOcN0-nkRJX-KzXV45uIkEF9BaUhJvC6EhotqioVXLuLznX3yB9iuFGqekpS3uHOYwzZF0CHR6xTHg29hvLOxw
|
||||
#Cookie: app_refresh_token=ce08d9a6b3064311ac163a7806b811ef
|
||||
Accept: application/json
|
||||
|
||||
####
|
||||
GET http://localhost:10001/idp/routes
|
||||
#Authorization: 85a9f4d6fef34763b4437830ec331570
|
||||
Authorization: 41deb286d03b42139bc3559cbbcc9995
|
||||
#Cookie: app_refresh_token=ce08d9a6b3064311ac163a7806b811ef
|
||||
Accept: application/json
|
||||
|
||||
###
|
||||
POST http://localhost:10001/logout
|
||||
Cookie: app_refresh_token=02237ce2c5d14e8088be3d462b69df99
|
||||
|
||||
|
||||
|
||||
|
||||
http://106.14.217.120/portal-api/authorization/demo
|
||||
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# @no-redirect
|
||||
GET http://106.14.217.120/portal-api/oauth2/authorization/portal
|
||||
|
||||
###
|
||||
GET localhost:8080
|
||||
|
||||
###
|
||||
POST http://localhost:8000/oauth2/authorize
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
Accept: application/json
|
||||
Idp: 387cec08371f4ebfb61074d41a94046e
|
||||
Cookie: idp_refresh_token=7bb21a0dcac94aec99f08ae6a2d6db30
|
||||
|
||||
response_type=code&client_id=b55c88c20db94790a60a5075&scope=openid%20profile%20perms&state=MK1s_JKXsVowOsaGIGK3UK00yVgjUM-lgV-T7tOZdIQ%3D&redirect_uri=http://localhost:9506/oauth2/callback&nonce=rXdsOr0tczTckUSP_RKZ5ABmP575Z4JrTLOxCQ1nt3U
|
||||
|
||||
|
||||
####
|
||||
GET http://localhost:8080/login/oauth2/code/portal?code=ua3zRRX2YMHsGmYaY4CGEvtklZbCzNtT5sOjguXzhY68zoKqnA83NlQXtG1dN-X_mv4Sn5MaYERkymxk9EWJzpHA_RB523keRb25jmIt5LgUjWJtwD4gJmQJulPOXFO1&state=MK1s_JKXsVowOsaGIGK3UK00yVgjUM-lgV-T7tOZdIQ%3D
|
||||
|
||||
###
|
||||
GET http://localhost:10001/idp/routes
|
||||
#Authorization: 85a9f4d6fef34763b4437830ec331570
|
||||
Authorization: Bearer eyJraWQiOiJpZHAiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6ImI1NWM4OGMyMGRiOTQ3OTBhNjBhNTA3NSIsIm5iZiI6MTc3MDM5MjMwMiwic2NvcGUiOlsib3BlbmlkIiwicHJvZmlsZSIsInBlcm1zIl0sImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIsImV4cCI6MTc3MDQzNTUwMiwiaWF0IjoxNzcwMzkyMzAyLCJqdGkiOiIxMmRjZjZmOS0zMjNhLTRhMmUtYjI4Ni1lNDcyOTFhNjc4YTYifQ.MC2khfn7Q2PeU5NB9BCazj-4oWsS_9VIoRLvVZfRiM4RKyAw6VkBv0bNWNuIcUAzZ7GpfIsGMufjsDiVgj7tBK_MWweasWz7DRDc_QCkFt8RZxK2LjxZAilFmXZOaydUNnlGgBmI6S-xAD5N5ltx8OTEdWHuD7tm7S8ppXlvTCk4QSeNd3UYXyXPkR408HOk5ZWTH4PudGVJN5q5gDUAbM9FyN7NejGuJQ4gmHuur7oDhMEqmBQjiv6OnJZko6GszOcN0-nkRJX-KzXV45uIkEF9BaUhJvC6EhotqioVXLuLznX3yB9iuFGqekpS3uHOYwzZF0CHR6xTHg29hvLOxw
|
||||
#Cookie: app_refresh_token=ce08d9a6b3064311ac163a7806b811ef
|
||||
|
||||
|
||||
###
|
||||
GET http://localhost:8000/account/getRouters
|
||||
#Authorization: 85a9f4d6fef34763b4437830ec331570
|
||||
Authorization: Bearer eyJraWQiOiJpZHAiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6ImI1NWM4OGMyMGRiOTQ3OTBhNjBhNTA3NSIsIm5iZiI6MTc3MDM5MjMwMiwic2NvcGUiOlsib3BlbmlkIiwicHJvZmlsZSIsInBlcm1zIl0sImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIsImV4cCI6MTc3MDQzNTUwMiwiaWF0IjoxNzcwMzkyMzAyLCJqdGkiOiIxMmRjZjZmOS0zMjNhLTRhMmUtYjI4Ni1lNDcyOTFhNjc4YTYifQ.MC2khfn7Q2PeU5NB9BCazj-4oWsS_9VIoRLvVZfRiM4RKyAw6VkBv0bNWNuIcUAzZ7GpfIsGMufjsDiVgj7tBK_MWweasWz7DRDc_QCkFt8RZxK2LjxZAilFmXZOaydUNnlGgBmI6S-xAD5N5ltx8OTEdWHuD7tm7S8ppXlvTCk4QSeNd3UYXyXPkR408HOk5ZWTH4PudGVJN5q5gDUAbM9FyN7NejGuJQ4gmHuur7oDhMEqmBQjiv6OnJZko6GszOcN0-nkRJX-KzXV45uIkEF9BaUhJvC6EhotqioVXLuLznX3yB9iuFGqekpS3uHOYwzZF0CHR6xTHg29hvLOxw
|
||||
#Cookie: app_refresh_token=ce08d9a6b3064311ac163a7806b811ef
|
||||
Accept: application/json
|
||||
|
||||
####
|
||||
GET http://localhost:10001/idp/routes
|
||||
#Authorization: 85a9f4d6fef34763b4437830ec331570
|
||||
Authorization: 41deb286d03b42139bc3559cbbcc9995
|
||||
#Cookie: app_refresh_token=ce08d9a6b3064311ac163a7806b811ef
|
||||
Accept: application/json
|
||||
|
||||
###
|
||||
POST http://localhost:10001/logout
|
||||
Cookie: app_refresh_token=02237ce2c5d14e8088be3d462b69df99
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
70
demo/backend/demo/src/main/resources/application-dev.yml
Normal file
70
demo/backend/demo/src/main/resources/application-dev.yml
Normal file
@@ -0,0 +1,70 @@
|
||||
spring:
|
||||
application:
|
||||
name: demo
|
||||
# redis \u914D\u7F6E
|
||||
security:
|
||||
oauth2:
|
||||
resourceserver:
|
||||
jwt:
|
||||
jwk-set-uri: http://localhost:8000/oauth2/jwks
|
||||
client:
|
||||
registration:
|
||||
demo:
|
||||
client-id: b55c88c20db94790a60a5075
|
||||
client-secret: UqVAS8UiehSFJSR8_CygnYGR5M79LuGuGiDwATtcGqg
|
||||
client-name: DEMO
|
||||
authorization-grant-type: authorization_code
|
||||
redirect-uri: http://localhost:9506/oauth2/callback
|
||||
scope:
|
||||
- openid
|
||||
- profile
|
||||
# 返回权限
|
||||
- perms
|
||||
provider: idp
|
||||
|
||||
provider:
|
||||
idp:
|
||||
# issuer-uri: http://localhost:8000
|
||||
authorization-uri: http://localhost/sso
|
||||
token-uri: http://localhost:8000/oauth2/token
|
||||
user-info-uri: http://localhost:8000/userinfo
|
||||
jwk-set-uri: http://localhost:8000/oauth2/jwks
|
||||
user-name-attribute: sub
|
||||
data:
|
||||
redis:
|
||||
# \u5730\u5740
|
||||
host: localhost
|
||||
# \u7AEF\u53E3\uFF0C\u9ED8\u8BA4\u4E3A6379
|
||||
port: 6379
|
||||
# \u6570\u636E\u5E93\u7D22\u5F15
|
||||
database: 0
|
||||
# \u5BC6\u7801
|
||||
password:
|
||||
# \u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4
|
||||
timeout: 10s
|
||||
lettuce:
|
||||
pool:
|
||||
# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5
|
||||
min-idle: 0
|
||||
# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5
|
||||
max-idle: 8
|
||||
# \u8FDE\u63A5\u6C60\u7684\u6700\u5927\u6570\u636E\u5E93\u8FDE\u63A5\u6570
|
||||
max-active: 8
|
||||
# #\u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
|
||||
max-wait: -1ms
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
logging:
|
||||
level:
|
||||
root: info
|
||||
org.springframework.web: debug
|
||||
org.springframework.security: debug
|
||||
org.springframework.security.oauth2: debug
|
||||
|
||||
|
||||
server:
|
||||
port: 10001
|
||||
|
||||
70
demo/backend/demo/src/main/resources/application-test.yml
Normal file
70
demo/backend/demo/src/main/resources/application-test.yml
Normal file
@@ -0,0 +1,70 @@
|
||||
spring:
|
||||
application:
|
||||
name: demo
|
||||
# redis \u914D\u7F6E
|
||||
security:
|
||||
oauth2:
|
||||
resourceserver:
|
||||
jwt:
|
||||
jwk-set-uri: http://127.0.0.1:8082/oauth2/jwks
|
||||
client:
|
||||
registration:
|
||||
demo:
|
||||
client-id: b55c88c20db94790a60a5075
|
||||
client-secret: UqVAS8UiehSFJSR8_CygnYGR5M79LuGuGiDwATtcGqg
|
||||
client-name: DEMO
|
||||
authorization-grant-type: authorization_code
|
||||
redirect-uri: http://106.14.217.120/demo/callback
|
||||
scope:
|
||||
- openid
|
||||
- profile
|
||||
# 返回权限
|
||||
- perms
|
||||
provider: idp
|
||||
|
||||
provider:
|
||||
idp:
|
||||
issuer-uri: http://127.0.0.1:8082
|
||||
authorization-uri: http://106.14.217.120/idp-ui/sso
|
||||
token-uri: http://127.0.0.1:8082/oauth2/token
|
||||
user-info-uri: http://127.0.0.1:8082/userinfo
|
||||
jwk-set-uri: http://127.0.0.1:8082/oauth2/jwks
|
||||
user-name-attribute: sub
|
||||
data:
|
||||
redis:
|
||||
# \u5730\u5740
|
||||
host: localhost
|
||||
# \u7AEF\u53E3\uFF0C\u9ED8\u8BA4\u4E3A6379
|
||||
port: 6379
|
||||
# \u6570\u636E\u5E93\u7D22\u5F15
|
||||
database: 0
|
||||
# \u5BC6\u7801
|
||||
password:
|
||||
# \u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4
|
||||
timeout: 10s
|
||||
lettuce:
|
||||
pool:
|
||||
# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5
|
||||
min-idle: 0
|
||||
# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5
|
||||
max-idle: 8
|
||||
# \u8FDE\u63A5\u6C60\u7684\u6700\u5927\u6570\u636E\u5E93\u8FDE\u63A5\u6570
|
||||
max-active: 8
|
||||
# #\u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
|
||||
max-wait: -1ms
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
logging:
|
||||
level:
|
||||
root: info
|
||||
org.springframework.web: debug
|
||||
org.springframework.security: debug
|
||||
org.springframework.security.oauth2: debug
|
||||
|
||||
|
||||
server:
|
||||
port: 10001
|
||||
|
||||
3
demo/backend/demo/src/main/resources/application.yml
Normal file
3
demo/backend/demo/src/main/resources/application.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
spring:
|
||||
profiles:
|
||||
active: dev
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.lingniu.example.demo;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class DemoApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user