diff --git a/app/kac-app/build.gradle b/app/kac-app/build.gradle
index 0ea76a3..72cfc38 100644
--- a/app/kac-app/build.gradle
+++ b/app/kac-app/build.gradle
@@ -51,10 +51,8 @@ test {
outputs.dir snippetsDir
}
asciidoctor {
- if(project.hasProperty("excludeTest")){
- dependsOn test
- inputs.dir snippetsDir
- }
+ dependsOn test
+ inputs.dir snippetsDir
}
bootJar {
@@ -65,9 +63,7 @@ bootJar {
}
asciidoctor.doFirst {
- if(project.hasProperty("excludeTest")) {
- delete file('src/main/resources/static/docs')
- }
+ delete file('src/main/resources/static/docs')
}
task copyDocument(type: Copy) {
@@ -77,13 +73,9 @@ task copyDocument(type: Copy) {
}
build {
- if(project.hasProperty("excludeTest")){
- dependsOn copyDocument
- }
+ dependsOn copyDocument
}
-
-
// querydsl
def querydslDir = layout.buildDirectory.dir("generated/querydsl").get().asFile
diff --git a/app/kac-app/src/main/java/kr/co/palnet/kac/app/core/security/AppSecurityConfig.java b/app/kac-app/src/main/java/kr/co/palnet/kac/app/core/security/AppSecurityConfig.java
index 05e7594..bb0074b 100644
--- a/app/kac-app/src/main/java/kr/co/palnet/kac/app/core/security/AppSecurityConfig.java
+++ b/app/kac-app/src/main/java/kr/co/palnet/kac/app/core/security/AppSecurityConfig.java
@@ -19,7 +19,10 @@ import org.springframework.security.web.SecurityFilterChain;
public class AppSecurityConfig extends SecurityConfig {
// 시큐리티 적용 안하는 URL 목록
- private final String[] IGNORE_URL = {};
+ private final String[] IGNORE_URL = {
+ "/docs/index.html",
+ "/v1/com/code/**"
+ };
private final String[] USER_URL = {};
diff --git a/app/kac-app/src/main/resources/static/docs/index.html b/app/kac-app/src/main/resources/static/docs/index.html
index b3dc462..ad1c4be 100644
--- a/app/kac-app/src/main/resources/static/docs/index.html
+++ b/app/kac-app/src/main/resources/static/docs/index.html
@@ -485,23 +485,27 @@ Host: localhost:8080
-
-
+
+
+
-Parameter |
-Description |
+파라미터 |
+설명 |
+필수 |
siteCd
|
사이트코드 |
+true |
langDivCd
|
언어코드 |
+true |
@@ -512,104 +516,24 @@ Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
-Content-Length: 1897
+Content-Length: 3
-[ {
- "groupCd" : "8984",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP_1706059161",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP_1706061920",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP_1706061927",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP_1706061935",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP001",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : [ {
- "groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE001",
- "cdNm" : null,
- "upperCd" : null,
- "sortOrdr" : 0,
- "addInfoValue" : "추가!!",
- "children" : null
- }, {
- "groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE002",
- "cdNm" : null,
- "upperCd" : null,
- "sortOrdr" : 0,
- "addInfoValue" : "추가!!",
- "children" : null
- }, {
- "groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE170605827510",
- "cdNm" : null,
- "upperCd" : null,
- "sortOrdr" : 0,
- "addInfoValue" : "추가!!",
- "children" : null
- }, {
- "groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE170605829584",
- "cdNm" : null,
- "upperCd" : null,
- "sortOrdr" : 0,
- "addInfoValue" : "추가!!",
- "children" : null
- }, {
- "groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE170605916148",
- "cdNm" : null,
- "upperCd" : null,
- "sortOrdr" : 0,
- "addInfoValue" : "추가!!",
- "children" : null
- } ]
-}, {
- "groupCd" : "NEW_GROUP002",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-} ]
+[ ]
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -617,61 +541,73 @@ Content-Length: 1897
[].groupCd
|
String
|
그룹 코드 |
+false |
[].siteCd
|
String
|
사이트 코드 |
+false |
[].groupCdNm
|
String
|
그룹 명 |
+false |
[].rm
|
String
|
비고 |
+false |
[].codeList
|
Array
|
그룹에 포함된 코드 리스트 |
+false |
[].codeList[].groupCd
|
String
|
코드의 그룹 |
+false |
[].codeList[].cdId
|
String
|
코드의 ID |
+false |
[].codeList[].cdNm
|
String
|
코드의 이름 |
+false |
[].codeList[].upperCd
|
String
|
상위 코드의 이름 |
+false |
[].codeList[].sortOrdr
|
Number
|
코드의 정렬순서 |
+false |
[].codeList[].addInfoValue
|
String
|
코드의 추가 밸류 |
+false |
[].codeList[].children
|
String
|
코드의 하위요소 |
+false |
@@ -692,23 +628,27 @@ Host: localhost:8080
-
-
+
+
+
-Parameter |
-Description |
+파라미터 |
+설명 |
+필수 |
groupCd
|
그룹코드 |
+true |
langDivCd
|
언어코드 |
+true |
@@ -719,62 +659,24 @@ Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
-Content-Length: 864
+Content-Length: 3
-[ {
- "groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE001",
- "cdNm" : null,
- "upperCd" : null,
- "sortOrdr" : 0,
- "addInfoValue" : "추가!!",
- "children" : null
-}, {
- "groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE002",
- "cdNm" : null,
- "upperCd" : null,
- "sortOrdr" : 0,
- "addInfoValue" : "추가!!",
- "children" : null
-}, {
- "groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE170605827510",
- "cdNm" : null,
- "upperCd" : null,
- "sortOrdr" : 0,
- "addInfoValue" : "추가!!",
- "children" : null
-}, {
- "groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE170605829584",
- "cdNm" : null,
- "upperCd" : null,
- "sortOrdr" : 0,
- "addInfoValue" : "추가!!",
- "children" : null
-}, {
- "groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE170605916148",
- "cdNm" : null,
- "upperCd" : null,
- "sortOrdr" : 0,
- "addInfoValue" : "추가!!",
- "children" : null
-} ]
+[ ]
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -782,36 +684,43 @@ Content-Length: 864
[].groupCd
|
String
|
코드의 그룹 |
+false |
[].cdId
|
String
|
코드의 ID |
+false |
[].cdNm
|
String
|
코드의 이름 |
+false |
[].upperCd
|
String
|
상위 코드의 이름 |
+false |
[].sortOrdr
|
Number
|
코드의 정렬순서 |
+false |
[].addInfoValue
|
String
|
코드의 추가 밸류 |
+false |
[].children
|
String
|
코드의 하위요소 |
+false |
@@ -837,64 +746,24 @@ Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
-Content-Length: 957
+Content-Length: 3
-[ {
- "groupCd" : "8984",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP_1706059161",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP_1706061920",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP_1706061927",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP_1706061935",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP001",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-}, {
- "groupCd" : "NEW_GROUP002",
- "siteCd" : "KAC",
- "groupCdNm" : "신규그룹001",
- "rm" : "비고....",
- "codeList" : null
-} ]
+[ ]
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -902,26 +771,31 @@ Content-Length: 957
[].groupCd
|
String
|
그룹 코드 |
+false |
[].siteCd
|
String
|
사이트 코드 |
+false |
[].groupCdNm
|
String
|
그룹 명 |
+false |
[].rm
|
String
|
비고 |
+false |
[].codeList
|
Array
|
그룹에 포함된 코드 리스트 |
+false |
@@ -937,11 +811,11 @@ Content-Length: 957
POST /v1/com/code/group HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
-Content-Length: 118
+Content-Length: 110
Host: localhost:8080
{
- "groupCd" : "NEW_GROUP_1706068307",
+ "groupCd" : "NEW_GROUP001",
"siteCd" : "KAC",
"groupCdNm" : "신규그룹001",
"rm" : "비고...."
@@ -950,15 +824,17 @@ Host: localhost:8080
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -966,21 +842,25 @@ Host: localhost:8080
groupCd
|
String
|
그룹코드 |
+true |
siteCd
|
String
|
사이트코드 |
+true |
groupCdNm
|
String
|
그룹이름 |
+true |
rm
|
String
|
비고 |
+true |
@@ -991,31 +871,33 @@ Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
-Content-Length: 276
+Content-Length: 267
{
- "groupCd" : "NEW_GROUP_1706068307",
+ "groupCd" : "NEW_GROUP001",
"siteCd" : "KAC",
"groupCdNm" : "신규그룹001",
"rm" : "비고....",
"createUserId" : "CREATE_USER",
- "createDt" : "2024-01-24T12:51:47.097899",
+ "createDt" : "2024-02-05T15:53:38.24206",
"updateUserId" : "CREATE_USER",
- "updateDt" : "2024-01-24T12:51:47.097907"
+ "updateDt" : "2024-02-05T15:53:38.242072"
}
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1023,41 +905,49 @@ Content-Length: 276
groupCd
|
String
|
그룹코드 |
+true |
siteCd
|
String
|
사이트코드 |
+true |
groupCdNm
|
String
|
그룹이름 |
+true |
rm
|
String
|
비고 |
+true |
createUserId
|
String
|
등록한 유저 아이디 |
+true |
createDt
|
String
|
등록일시 |
+true |
updateUserId
|
String
|
수정한 유저 아이디 |
+true |
updateDt
|
String
|
수정일시 |
+true |
@@ -1073,12 +963,12 @@ Content-Length: 276
POST /v1/com/code/code HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
-Content-Length: 133
+Content-Length: 124
Host: localhost:8080
{
"groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE170606830704",
+ "cdId" : "NEW_CODE001",
"sortOrdr" : 0,
"addInfoValue" : "추가!!",
"useYn" : "Y"
@@ -1087,15 +977,17 @@ Host: localhost:8080
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1103,26 +995,31 @@ Host: localhost:8080
groupCd
|
String
|
그룹코드 |
+true |
cdId
|
String
|
코드 아이디 |
+true |
sortOrdr
|
Number
|
정렬순서 |
+true |
addInfoValue
|
String
|
추가사항 |
+true |
useYn
|
String
|
사용여부 |
+true |
@@ -1133,33 +1030,35 @@ Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
-Content-Length: 311
+Content-Length: 302
{
"groupCd" : "NEW_GROUP001",
- "cdId" : "NEW_CODE170606830704",
+ "cdId" : "NEW_CODE001",
"upperCd" : null,
"sortOrdr" : 0,
"addInfoValue" : "추가!!",
"useYn" : "Y",
"createUserId" : "CREATE_USER",
- "createDt" : "2024-01-24T12:51:47.054488",
+ "createDt" : "2024-02-05T15:53:38.341129",
"updateUserId" : "CREATE_USER",
- "updateDt" : "2024-01-24T12:51:47.054496"
+ "updateDt" : "2024-02-05T15:53:38.341141"
}
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1167,51 +1066,61 @@ Content-Length: 311
groupCd
|
String
|
그룹코드 |
+true |
cdId
|
String
|
코드 아이디 |
+true |
upperCd
|
String
|
상위 아이디 |
+false |
sortOrdr
|
Number
|
정렬순서 |
+true |
addInfoValue
|
String
|
추가사항 |
+true |
useYn
|
String
|
사용여부 |
+true |
createUserId
|
String
|
등록한 유저 아이디 |
+true |
createDt
|
String
|
등록일시 |
+true |
updateUserId
|
String
|
수정한 유저 아이디 |
+true |
updateDt
|
String
|
수정일시 |
+true |
@@ -1241,15 +1150,17 @@ Host: localhost:8080
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1257,26 +1168,31 @@ Host: localhost:8080
groupCd
|
String
|
그룹코드 |
+true |
cdId
|
String
|
코드 아이디 |
+true |
langDivCd
|
String
|
언어코드 |
+true |
cdNm
|
String
|
코드이름[언어별] |
+true |
rm
|
String
|
비고 |
+true |
@@ -1296,23 +1212,25 @@ Content-Length: 294
"cdNm" : "신규코드001",
"rm" : "비고....",
"createUserId" : "CREATE_USER",
- "createDt" : "2024-01-24T12:51:46.948454",
+ "createDt" : "2024-02-05T15:53:38.391687",
"updateUserId" : "CREATE_USER",
- "updateDt" : "2024-01-24T12:51:46.948463"
+ "updateDt" : "2024-02-05T15:53:38.391695"
}
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1320,46 +1238,55 @@ Content-Length: 294
groupCd
|
String
|
그룹코드 |
+true |
cdId
|
String
|
코드 아이디 |
+true |
langDivCd
|
String
|
언어코드 |
+true |
cdNm
|
String
|
코드이름[언어별] |
+true |
rm
|
String
|
비고 |
+true |
createUserId
|
String
|
등록한 유저 아이디 |
+true |
createDt
|
String
|
등록일시 |
+true |
updateUserId
|
String
|
수정한 유저 아이디 |
+true |
updateDt
|
String
|
수정일시 |
+true |
@@ -1388,15 +1315,17 @@ Host: localhost:8080
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1404,21 +1333,25 @@ Host: localhost:8080
groupCd
|
String
|
그룹코드 |
+true |
siteCd
|
String
|
사이트코드 |
+true |
groupCdNm
|
String
|
그룹이름 |
+true |
rm
|
String
|
비고 |
+true |
@@ -1429,7 +1362,7 @@ Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
-Content-Length: 261
+Content-Length: 268
{
"groupCd" : "NEW_GROUP001",
@@ -1437,23 +1370,25 @@ Content-Length: 261
"groupCdNm" : "신규그룹001",
"rm" : "비고....",
"createUserId" : "CREATE_USER",
- "createDt" : "2024-01-23T14:14:10",
+ "createDt" : "2024-02-05T15:53:38.434127",
"updateUserId" : "UPDATE_USER",
- "updateDt" : "2024-01-24T12:51:46.997949"
+ "updateDt" : "2024-02-05T15:53:38.438009"
}
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1461,41 +1396,49 @@ Content-Length: 261
groupCd
|
String
|
그룹코드 |
+true |
siteCd
|
String
|
사이트코드 |
+true |
groupCdNm
|
String
|
그룹이름 |
+true |
rm
|
String
|
비고 |
+true |
createUserId
|
String
|
등록한 유저 아이디 |
+true |
createDt
|
String
|
등록일시 |
+true |
updateUserId
|
String
|
수정한 유저 아이디 |
+true |
updateDt
|
String
|
수정일시 |
+true |
@@ -1518,22 +1461,24 @@ Host: localhost:8080
"groupCd" : "NEW_GROUP001",
"cdId" : "NEW_CODE001",
"sortOrdr" : 0,
- "addInfoValue" : "추가!!",
+ "addInfoValue" : "수정!!",
"useYn" : "Y"
}
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1541,26 +1486,31 @@ Host: localhost:8080
groupCd
|
String
|
그룹코드 |
+true |
cdId
|
String
|
코드 아이디 |
+true |
sortOrdr
|
Number
|
정렬순서 |
+true |
addInfoValue
|
String
|
추가사항 |
+true |
useYn
|
String
|
사용여부 |
+true |
@@ -1571,33 +1521,35 @@ Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
-Content-Length: 295
+Content-Length: 302
{
"groupCd" : "NEW_GROUP001",
"cdId" : "NEW_CODE001",
"upperCd" : null,
"sortOrdr" : 0,
- "addInfoValue" : "추가!!",
+ "addInfoValue" : "수정!!",
"useYn" : "Y",
"createUserId" : "CREATE_USER",
- "createDt" : "2024-01-23T14:14:25",
+ "createDt" : "2024-02-05T15:53:38.481948",
"updateUserId" : "UPDATE_USER",
- "updateDt" : "2024-01-24T12:51:46.801854"
+ "updateDt" : "2024-02-05T15:53:38.491689"
}
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1605,51 +1557,61 @@ Content-Length: 295
groupCd
|
String
|
그룹코드 |
+true |
cdId
|
String
|
코드 아이디 |
+true |
upperCd
|
String
|
상위 아이디 |
+false |
sortOrdr
|
Number
|
정렬순서 |
+true |
addInfoValue
|
String
|
추가사항 |
+true |
useYn
|
String
|
사용여부 |
+true |
createUserId
|
String
|
등록한 유저 아이디 |
+true |
createDt
|
String
|
등록일시 |
+true |
updateUserId
|
String
|
수정한 유저 아이디 |
+true |
updateDt
|
String
|
수정일시 |
+true |
@@ -1665,29 +1627,31 @@ Content-Length: 295
PUT /v1/com/code/lang HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
-Content-Length: 136
+Content-Length: 135
Host: localhost:8080
{
"groupCd" : "NEW_GROUP001",
"cdId" : "NEW_CODE001",
- "langDivCd" : "en_CA",
+ "langDivCd" : "ko_KR",
"cdNm" : "신규코드001",
- "rm" : "비고...."
+ "rm" : "수정..."
}
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1695,26 +1659,31 @@ Host: localhost:8080
groupCd
|
String
|
그룹코드 |
+true |
cdId
|
String
|
코드 아이디 |
+true |
langDivCd
|
String
|
언어코드 |
+true |
cdNm
|
String
|
코드이름[언어별] |
+true |
rm
|
String
|
비고 |
+true |
@@ -1725,32 +1694,34 @@ Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
-Content-Length: 286
+Content-Length: 291
{
"groupCd" : "NEW_GROUP001",
"cdId" : "NEW_CODE001",
- "langDivCd" : "en_CA",
+ "langDivCd" : "ko_KR",
"cdNm" : "신규코드001",
- "rm" : "비고....",
+ "rm" : "수정...",
"createUserId" : "CREATE_USER",
- "createDt" : "2024-01-24T10:55:17",
+ "createDt" : "2024-02-05T15:53:38.540614",
"updateUserId" : "UPDATE_USER",
- "updateDt" : "2024-01-24T12:51:46.91922"
+ "updateDt" : "2024-02-05T15:53:38.5467"
}
-
-
-
+
+
+
+
-Path |
-Type |
-Description |
+파라미터 |
+타입 |
+설명 |
+필수 |
@@ -1758,46 +1729,55 @@ Content-Length: 286
groupCd
|
String
|
그룹코드 |
+true |
cdId
|
String
|
코드 아이디 |
+true |
langDivCd
|
String
|
언어코드 |
+true |
cdNm
|
String
|
코드이름[언어별] |
+true |
rm
|
String
|
비고 |
+true |
createUserId
|
String
|
등록한 유저 아이디 |
+true |
createDt
|
String
|
등록일시 |
+true |
updateUserId
|
String
|
수정한 유저 아이디 |
+true |
updateDt
|
String
|
수정일시 |
+true |
@@ -1810,7 +1790,7 @@ Content-Length: 286
-
DELETE /v1/com/code/group?groupCd=NEW_Group_1706003812 HTTP/1.1
+DELETE /v1/com/code/group?groupCd=NEW_GROUP001 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Host: localhost:8080
@@ -1818,19 +1798,22 @@ Host: localhost:8080
-
-
+
+
+
-Parameter |
-Description |
+파라미터 |
+설명 |
+필수 |
groupCd
|
그룹 아이디 |
+true |
@@ -1851,7 +1834,7 @@ Host: localhost:8080
-
DELETE /v1/com/code/code?groupCd=NEW_GROUP001&cdId=NEW_CODE170605841699 HTTP/1.1
+DELETE /v1/com/code/code?groupCd=NEW_GROUP001&cdId=NEW_CODE001 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Host: localhost:8080
@@ -1859,23 +1842,27 @@ Host: localhost:8080
-
-
+
+
+
-Parameter |
-Description |
+파라미터 |
+설명 |
+필수 |
groupCd
|
그룹 아이디 |
+true |
cdId
|
코드 아이디 |
+true |
@@ -1896,7 +1883,7 @@ Host: localhost:8080
-
DELETE /v1/com/code/lang?groupCd=NEW_GROUP001&cdId=NEW_CODE170605841699&langDivCd=ko_KR HTTP/1.1
+DELETE /v1/com/code/lang?groupCd=NEW_GROUP001&cdId=NEW_CODE001&langDivCd=ko_KR HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Host: localhost:8080
@@ -1904,27 +1891,32 @@ Host: localhost:8080
-
-
+
+
+
-Parameter |
-Description |
+파라미터 |
+설명 |
+필수 |
groupCd
|
그룹 아이디 |
+true |
cdId
|
코드 아이디 |
+true |
langDivCd
|
삭제할 언어코드 |
+true |
diff --git a/app/kac-app/src/test/java/kr/co/palnet/kac/com/code/ComnCodeControllerTest.java b/app/kac-app/src/test/java/kr/co/palnet/kac/com/code/ComnCodeControllerTest.java
index 6fb138d..4098b32 100644
--- a/app/kac-app/src/test/java/kr/co/palnet/kac/com/code/ComnCodeControllerTest.java
+++ b/app/kac-app/src/test/java/kr/co/palnet/kac/com/code/ComnCodeControllerTest.java
@@ -10,34 +10,45 @@ import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import kr.co.palnet.kac.BaseTest;
+import kr.co.palnet.kac.api.v1.com.code.model.FormCodeGroupRQ;
+import kr.co.palnet.kac.api.v1.com.code.model.FormCodeLangRQ;
+import kr.co.palnet.kac.api.v1.com.code.model.FormCodeRQ;
+import kr.co.palnet.kac.api.v1.com.code.service.ComCodeService;
import lombok.RequiredArgsConstructor;
+
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.MethodOrderer;
+import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs;
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.context.SpringBootTestContextBootstrapper;
import org.springframework.http.MediaType;
import org.springframework.restdocs.RestDocumentationExtension;
import org.springframework.restdocs.payload.JsonFieldType;
-import org.springframework.test.context.BootstrapWith;
+import org.springframework.transaction.annotation.Transactional;
-import kr.co.palnet.kac.api.v1.com.code.controller.ComCodeController;
import kr.co.palnet.kac.app.KacAppApplication;
@SpringBootTest(classes = KacAppApplication.class)
@ExtendWith({RestDocumentationExtension.class})
+@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@RequiredArgsConstructor
+@Transactional
public class ComnCodeControllerTest extends BaseTest {
-
+ @Autowired
+ private ComCodeService comCodeService;
private final String BASE_URL = "/v1/com/code";
+ @DisplayName("[10] 언어코드 삭제")
+ @Order(10)
@Test
public void deleteLang() throws Exception{
String groupCd = "NEW_GROUP001";
- String cdId = "NEW_CODE170605841699";
+ String cdId = "NEW_CODE001";
String langDivCd = "ko_KR";
this.mockMvc.perform(
@@ -60,11 +71,12 @@ public class ComnCodeControllerTest extends BaseTest {
.andExpect(status().isOk());
}
+ @DisplayName("[11] 코드 삭제")
+ @Order(11)
@Test
public void deleteCode() throws Exception{
-
String groupCd = "NEW_GROUP001";
- String cdId = "NEW_CODE170605841699";
+ String cdId = "NEW_CODE001";
this.mockMvc.perform(
delete(this.BASE_URL + "/code?groupCd=" + groupCd + "&cdId=" + cdId)
@@ -85,9 +97,11 @@ public class ComnCodeControllerTest extends BaseTest {
.andExpect(status().isOk());
}
+ @DisplayName("[12] 그룹 삭제")
+ @Order(12)
@Test
public void deleteCodeGroup() throws Exception {
- String deleteGroupCd = "NEW_Group_1706003812";
+ String deleteGroupCd = "NEW_GROUP001";
this.mockMvc.perform(
delete(this.BASE_URL + "/group?groupCd=" + deleteGroupCd)
@@ -107,15 +121,27 @@ public class ComnCodeControllerTest extends BaseTest {
.andExpect(status().isOk());
}
+ @DisplayName("[6] 코드의 언어코드 수정")
+ @Order(6)
@Test
public void updateCodeLang() throws Exception{
+
+ FormCodeGroupRQ groupRq = FormCodeGroupRQ.builder().groupCd("NEW_GROUP001").siteCd("KAC").groupCdNm("신규그룹001").rm("비고....").build();
+ comCodeService.createCodeGroup(groupRq);
+
+ FormCodeRQ codeRq = FormCodeRQ.builder().groupCd("NEW_GROUP001").cdId("NEW_CODE001").upperCd(null).sortOrdr(0).addInfoValue("추가!!").useYn("Y").build();
+ comCodeService.createCode(codeRq);
+
+ FormCodeLangRQ langRq = FormCodeLangRQ.builder().groupCd("NEW_GROUP001").cdId("NEW_CODE001").langDivCd("ko_KR").cdNm("신규코드001").rm("비고....").build();
+ comCodeService.createCodeLang(langRq);
+
String jsonRQ = """
{
"groupCd": "NEW_GROUP001",
"cdId": "NEW_CODE001",
- "langDivCd": "en_CA",
+ "langDivCd": "ko_KR",
"cdNm": "신규코드001",
- "rm": "비고...."
+ "rm": "수정..."
}
""";
@@ -153,14 +179,23 @@ public class ComnCodeControllerTest extends BaseTest {
.andExpect(status().isOk());
}
+ @DisplayName("[5] 코드 수정")
+ @Order(5)
@Test
public void updateCode() throws Exception{
+
+ FormCodeGroupRQ groupRq = FormCodeGroupRQ.builder().groupCd("NEW_GROUP001").siteCd("KAC").groupCdNm("신규그룹001").rm("비고....").build();
+ comCodeService.createCodeGroup(groupRq);
+
+ FormCodeRQ codeRq = FormCodeRQ.builder().groupCd("NEW_GROUP001").cdId("NEW_CODE001").upperCd(null).sortOrdr(0).addInfoValue("추가!!").useYn("Y").build();
+ comCodeService.createCode(codeRq);
+
String jsonRQ = """
{
"groupCd": "NEW_GROUP001",
"cdId": "NEW_CODE001",
"sortOrdr": 0,
- "addInfoValue": "추가!!",
+ "addInfoValue": "수정!!",
"useYn": "Y"
}
""";
@@ -200,8 +235,14 @@ public class ComnCodeControllerTest extends BaseTest {
.andExpect(status().isOk());
}
+ @DisplayName("[4] 그룹 수정")
+ @Order(4)
@Test
public void updateCodeGroup() throws Exception{
+
+ FormCodeGroupRQ rq = FormCodeGroupRQ.builder().groupCd("NEW_GROUP001").siteCd("KAC").groupCdNm("신규그룹001").rm("비고....").build();
+ comCodeService.createCodeGroup(rq);
+
String jsonRQ = """
{
"groupCd": "NEW_GROUP001",
@@ -243,6 +284,8 @@ public class ComnCodeControllerTest extends BaseTest {
.andExpect(status().isOk());
}
+ @DisplayName("[3] 코드의 언어코드 추가")
+ @Order(3)
@Test
public void createCodeLang() throws Exception{
@@ -293,10 +336,11 @@ public class ComnCodeControllerTest extends BaseTest {
}
+ @DisplayName("[2] 코드 추가")
+ @Order(2)
@Test
public void createCode() throws Exception{
- String codeNm = "NEW_CODE" + System.currentTimeMillis();
- codeNm = codeNm.substring(0, 20);
+ String codeNm = "NEW_CODE001";
String jsonRQ = """
{
@@ -343,11 +387,14 @@ public class ComnCodeControllerTest extends BaseTest {
.andExpect(status().isOk());
}
+ @DisplayName("[1] 코드그룹 추가")
+ @Order(1)
@Test
public void createCodeGroup() throws Exception{
- String randomNm = "NEW_GROUP_" + System.currentTimeMillis();
- randomNm = randomNm.substring(0, 20);
+ // String randomNm = "NEW_GROUP_" + System.currentTimeMillis();
+ String randomNm = "NEW_GROUP001";
+ // randomNm = randomNm.substring(0, 20);
String jsonRQ = """
{
@@ -390,8 +437,20 @@ public class ComnCodeControllerTest extends BaseTest {
.andExpect(status().isOk());
}
+ @DisplayName("[7] 모든 코드 조회")
+ @Order(7)
@Test
public void getAllCodeByGroup() throws Exception{
+
+ FormCodeGroupRQ groupRq = FormCodeGroupRQ.builder().groupCd("NEW_GROUP001").siteCd("KAC").groupCdNm("신규그룹001").rm("비고....").build();
+ comCodeService.createCodeGroup(groupRq);
+
+ FormCodeRQ codeRq = FormCodeRQ.builder().groupCd("NEW_GROUP001").cdId("NEW_CODE001").upperCd(null).sortOrdr(0).addInfoValue("추가!!").useYn("Y").build();
+ comCodeService.createCode(codeRq);
+
+ FormCodeLangRQ langRq = FormCodeLangRQ.builder().groupCd("NEW_GROUP001").cdId("NEW_CODE001").langDivCd("ko_KR").cdNm("신규코드001").rm("비고....").build();
+ comCodeService.createCodeLang(langRq);
+
String groupCd = "NEW_GROUP001";
String langDivCd = "ko_KR";
@@ -412,8 +471,8 @@ public class ComnCodeControllerTest extends BaseTest {
parameterWithName("langDivCd").description("언어코드")
),
responseFields(
- fieldWithPath("[].groupCd").type(JsonFieldType.STRING).description("코드의 그룹"),
- fieldWithPath("[].cdId").type(JsonFieldType.STRING).description("코드의 ID"),
+ fieldWithPath("[].groupCd").type(JsonFieldType.STRING).description("코드의 그룹").optional(),
+ fieldWithPath("[].cdId").type(JsonFieldType.STRING).description("코드의 ID").optional(),
fieldWithPath("[].cdNm").type(JsonFieldType.STRING).description("코드의 이름").optional(),
fieldWithPath("[].upperCd").type(JsonFieldType.STRING).description("상위 코드의 이름").optional(),
fieldWithPath("[].sortOrdr").type(JsonFieldType.NUMBER).description("코드의 정렬순서").optional(),
@@ -425,8 +484,20 @@ public class ComnCodeControllerTest extends BaseTest {
.andExpect(status().isOk());
}
+ @DisplayName("[8] 모든 그룹과 코드 조회")
+ @Order(8)
@Test
public void getAllGroupCode() throws Exception{
+
+ FormCodeGroupRQ groupRq = FormCodeGroupRQ.builder().groupCd("NEW_GROUP001").siteCd("KAC").groupCdNm("신규그룹001").rm("비고....").build();
+ comCodeService.createCodeGroup(groupRq);
+
+ FormCodeRQ codeRq = FormCodeRQ.builder().groupCd("NEW_GROUP001").cdId("NEW_CODE001").upperCd(null).sortOrdr(0).addInfoValue("추가!!").useYn("Y").build();
+ comCodeService.createCode(codeRq);
+
+ FormCodeLangRQ langRq = FormCodeLangRQ.builder().groupCd("NEW_GROUP001").cdId("NEW_CODE001").langDivCd("ko_KR").cdNm("신규코드001").rm("비고....").build();
+ comCodeService.createCodeLang(langRq);
+
this.mockMvc.perform(
get(this.BASE_URL + "/group")
.contentType(MediaType.APPLICATION_JSON_VALUE)
@@ -438,10 +509,10 @@ public class ComnCodeControllerTest extends BaseTest {
"com/code/group", // gradle build를 하게 되면 generated-snippets에 만들어질 폴더이름
preprocessResponse(prettyPrint()),
responseFields(
- fieldWithPath("[].groupCd").type(JsonFieldType.STRING).description("그룹 코드"),
- fieldWithPath("[].siteCd").type(JsonFieldType.STRING).description("사이트 코드"),
- fieldWithPath("[].groupCdNm").type(JsonFieldType.STRING).description("그룹 명"),
- fieldWithPath("[].rm").type(JsonFieldType.STRING).description("비고"),
+ fieldWithPath("[].groupCd").type(JsonFieldType.STRING).description("그룹 코드").optional(),
+ fieldWithPath("[].siteCd").type(JsonFieldType.STRING).description("사이트 코드").optional(),
+ fieldWithPath("[].groupCdNm").type(JsonFieldType.STRING).description("그룹 명").optional(),
+ fieldWithPath("[].rm").type(JsonFieldType.STRING).description("비고").optional(),
fieldWithPath("[].codeList").type(JsonFieldType.ARRAY).description("그룹에 포함된 코드 리스트").optional()
)
)
@@ -449,9 +520,20 @@ public class ComnCodeControllerTest extends BaseTest {
.andExpect(status().isOk());
}
+ @DisplayName("[9] 모든 그룹 조회")
+ @Order(9)
@Test
public void getAllGroup() throws Exception{
+ FormCodeGroupRQ groupRq = FormCodeGroupRQ.builder().groupCd("NEW_GROUP001").siteCd("KAC").groupCdNm("신규그룹001").rm("비고....").build();
+ comCodeService.createCodeGroup(groupRq);
+
+ FormCodeRQ codeRq = FormCodeRQ.builder().groupCd("NEW_GROUP001").cdId("NEW_CODE001").upperCd(null).sortOrdr(0).addInfoValue("추가!!").useYn("Y").build();
+ comCodeService.createCode(codeRq);
+
+ FormCodeLangRQ langRq = FormCodeLangRQ.builder().groupCd("NEW_GROUP001").cdId("NEW_CODE001").langDivCd("ko_KR").cdNm("신규코드001").rm("비고....").build();
+ comCodeService.createCodeLang(langRq);
+
String siteCd = "KAC";
String langDivCd = "ko_KR";
@@ -472,13 +554,13 @@ public class ComnCodeControllerTest extends BaseTest {
parameterWithName("langDivCd").description("언어코드")
),
responseFields(
- fieldWithPath("[].groupCd").type(JsonFieldType.STRING).description("그룹 코드"),
- fieldWithPath("[].siteCd").type(JsonFieldType.STRING).description("사이트 코드"),
- fieldWithPath("[].groupCdNm").type(JsonFieldType.STRING).description("그룹 명"),
- fieldWithPath("[].rm").type(JsonFieldType.STRING).description("비고"),
+ fieldWithPath("[].groupCd").type(JsonFieldType.STRING).description("그룹 코드").optional(),
+ fieldWithPath("[].siteCd").type(JsonFieldType.STRING).description("사이트 코드").optional(),
+ fieldWithPath("[].groupCdNm").type(JsonFieldType.STRING).description("그룹 명").optional(),
+ fieldWithPath("[].rm").type(JsonFieldType.STRING).description("비고").optional(),
fieldWithPath("[].codeList").type(JsonFieldType.ARRAY).description("그룹에 포함된 코드 리스트").optional(),
- fieldWithPath("[].codeList[].groupCd").type(JsonFieldType.STRING).description("코드의 그룹"),
- fieldWithPath("[].codeList[].cdId").type(JsonFieldType.STRING).description("코드의 ID"),
+ fieldWithPath("[].codeList[].groupCd").type(JsonFieldType.STRING).description("코드의 그룹").optional(),
+ fieldWithPath("[].codeList[].cdId").type(JsonFieldType.STRING).description("코드의 ID").optional(),
fieldWithPath("[].codeList[].cdNm").type(JsonFieldType.STRING).description("코드의 이름").optional(),
fieldWithPath("[].codeList[].upperCd").type(JsonFieldType.STRING).description("상위 코드의 이름").optional(),
fieldWithPath("[].codeList[].sortOrdr").type(JsonFieldType.NUMBER).description("코드의 정렬순서").optional(),
diff --git a/app/kac-app/src/test/resources/org/springframework/restdocs/templates/path-parameters.snippet b/app/kac-app/src/test/resources/org/springframework/restdocs/templates/path-parameters.snippet
new file mode 100644
index 0000000..44ebf19
--- /dev/null
+++ b/app/kac-app/src/test/resources/org/springframework/restdocs/templates/path-parameters.snippet
@@ -0,0 +1,11 @@
+.+{{path}}+
+|===
+|파라미터|설명|필수
+
+{{#parameters}}
+|{{#tableCellContent}}`+{{name}}+`{{/tableCellContent}}
+|{{#tableCellContent}}{{description}}{{/tableCellContent}}
+|{{#tableCellContent}}{{#optional}}false{{/optional}}{{^optional}}true{{/optional}}{{/tableCellContent}}
+
+{{/parameters}}
+|===
\ No newline at end of file
diff --git a/app/kac-app/src/test/resources/org/springframework/restdocs/templates/query-parameters.snippet b/app/kac-app/src/test/resources/org/springframework/restdocs/templates/query-parameters.snippet
new file mode 100644
index 0000000..b2747d4
--- /dev/null
+++ b/app/kac-app/src/test/resources/org/springframework/restdocs/templates/query-parameters.snippet
@@ -0,0 +1,10 @@
+|===
+|파라미터|설명|필수
+
+{{#parameters}}
+|{{#tableCellContent}}`+{{name}}+`{{/tableCellContent}}
+|{{#tableCellContent}}{{description}}{{/tableCellContent}}
+|{{#tableCellContent}}{{#optional}}false{{/optional}}{{^optional}}true{{/optional}}{{/tableCellContent}}
+
+{{/parameters}}
+|===
\ No newline at end of file
diff --git a/app/kac-app/src/test/resources/org/springframework/restdocs/templates/request-fields.snippet b/app/kac-app/src/test/resources/org/springframework/restdocs/templates/request-fields.snippet
new file mode 100644
index 0000000..66063e5
--- /dev/null
+++ b/app/kac-app/src/test/resources/org/springframework/restdocs/templates/request-fields.snippet
@@ -0,0 +1,12 @@
+|===
+|파라미터|타입|설명|필수
+
+{{#fields}}
+
+|{{#tableCellContent}}`+{{path}}+`{{/tableCellContent}}
+|{{#tableCellContent}}`+{{type}}+`{{/tableCellContent}}
+|{{#tableCellContent}}{{description}}{{/tableCellContent}}
+|{{#tableCellContent}}{{#optional}}false{{/optional}}{{^optional}}true{{/optional}}{{/tableCellContent}}
+
+{{/fields}}
+|===
diff --git a/app/kac-app/src/test/resources/org/springframework/restdocs/templates/request-headers.snippet b/app/kac-app/src/test/resources/org/springframework/restdocs/templates/request-headers.snippet
new file mode 100644
index 0000000..3f805fe
--- /dev/null
+++ b/app/kac-app/src/test/resources/org/springframework/restdocs/templates/request-headers.snippet
@@ -0,0 +1,10 @@
+|===
+|파라미터|설명|필수
+
+{{#headers}}
+|{{#tableCellContent}}`+{{name}}+`{{/tableCellContent}}
+|{{#tableCellContent}}{{description}}{{/tableCellContent}}
+|{{#tableCellContent}}{{#optional}}false{{/optional}}{{^optional}}true{{/optional}}{{/tableCellContent}}
+
+{{/headers}}
+|===
\ No newline at end of file
diff --git a/app/kac-app/src/test/resources/org/springframework/restdocs/templates/response-fields.snippet b/app/kac-app/src/test/resources/org/springframework/restdocs/templates/response-fields.snippet
new file mode 100644
index 0000000..66063e5
--- /dev/null
+++ b/app/kac-app/src/test/resources/org/springframework/restdocs/templates/response-fields.snippet
@@ -0,0 +1,12 @@
+|===
+|파라미터|타입|설명|필수
+
+{{#fields}}
+
+|{{#tableCellContent}}`+{{path}}+`{{/tableCellContent}}
+|{{#tableCellContent}}`+{{type}}+`{{/tableCellContent}}
+|{{#tableCellContent}}{{description}}{{/tableCellContent}}
+|{{#tableCellContent}}{{#optional}}false{{/optional}}{{^optional}}true{{/optional}}{{/tableCellContent}}
+
+{{/fields}}
+|===