소개
Common
Response Code
Code | Message |
---|---|
|
OK |
|
Invalid Input Value |
|
Entity Not Found |
|
Type Mismatch |
|
authentication failed |
|
jwt verify failed |
|
forbidden |
|
email duplicated |
|
Internal Server Error |
User (A)
AccessToken 발급 (A00)
Request
Request HTTP Example:
POST /login HTTP/1.1
Accept: application/json
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
email=user01%40gmail.com&password=1234
Request Parameters :
Parameter | Required | Description | Validation |
---|---|---|---|
|
true |
이메일 |
NotBlank |
|
true |
패스워드 |
NotBlank |
CURL :
$ curl 'http://localhost:8080/login' -i -X POST \
-H 'Accept: application/json' \
-d 'email=user01%40gmail.com&password=1234'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
Content-Length: 349
{
"timestamp" : "2021-10-14 19:07:09",
"code" : "40100",
"result" : "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MjksInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMjksImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.OTObmSea3CctVTwTVIIDomeVGjYeINSCaXaCryRn39d5rscRrr3Y2_1_t8FEumcpFpP33dh4k_QmrUb_9FZnlg"
}
Response Fields:
Path | Type | Description |
---|---|---|
|
|
응답시간 |
|
|
응답코드 |
|
|
Access Token (JWT) |
유저 등록 (A01)
Request
Request HTTP Example:
POST /users HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Content-Length: 96
Host: localhost:8080
{
"email" : "sample01@gmail.com",
"password" : "sample-password",
"name" : "sample-name"
}
Header :
Name | Required | Description |
---|---|---|
|
true |
application/json |
Request Fields :
Path | Type | Required | Description | Validation |
---|---|---|---|---|
|
|
true |
이메일 |
NotBlank |
|
|
true |
패스워드 |
NotBlank |
|
|
true |
이름 |
NotBlank |
CURL :
$ curl 'http://localhost:8080/users' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Accept: application/json' \
-d '{
"email" : "sample01@gmail.com",
"password" : "sample-password",
"name" : "sample-name"
}'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
Content-Length: 259
{
"timestamp" : "2021-10-14 19:07:09",
"code" : "40100",
"result" : {
"id" : "user-acbbfa30d1f44995a9130a1e2996f05c",
"email" : "sample01@gmail.com",
"name" : "sample-name",
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}
}
Response Fields:
Path | Type | Description |
---|---|---|
|
|
응답시간 |
|
|
응답코드 |
|
|
유저 ID |
|
|
이메일 |
|
|
이름 |
|
|
등록자 |
|
|
등록일 yyyy-MM-dd HH:mm:ss |
유저 수정 (A02)
Request
Request HTTP Example:
PUT /users/user-01 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MjksInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMjksImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.OTObmSea3CctVTwTVIIDomeVGjYeINSCaXaCryRn39d5rscRrr3Y2_1_t8FEumcpFpP33dh4k_QmrUb_9FZnlg
Accept: application/json
Content-Length: 96
Host: localhost:8080
{
"email" : "update01@gmail.com",
"password" : "update-password",
"name" : "update-name"
}
Header :
Name | Required | Description |
---|---|---|
|
true |
application/json |
|
true |
Access Token (JWT) |
Path Parameters : ./users/{userId}
Parameter | Required | Description |
---|---|---|
|
true |
유저 ID |
Request Fields :
Path | Type | Required | Description | Validation |
---|---|---|---|---|
|
|
true |
이메일 |
NotBlank |
|
|
true |
패스워드 |
NotBlank |
|
|
true |
이름 |
NotBlank |
CURL :
$ curl 'http://localhost:8080/users/user-01' -i -X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MjksInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMjksImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.OTObmSea3CctVTwTVIIDomeVGjYeINSCaXaCryRn39d5rscRrr3Y2_1_t8FEumcpFpP33dh4k_QmrUb_9FZnlg' \
-H 'Accept: application/json' \
-d '{
"email" : "update01@gmail.com",
"password" : "update-password",
"name" : "update-name"
}'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
Content-Length: 235
{
"timestamp" : "2021-10-14 19:07:09",
"code" : "40100",
"result" : {
"id" : "user-01",
"email" : "update01@gmail.com",
"name" : "update-name",
"createdBy" : "system",
"createdDt" : "2020-11-11 00:00:11"
}
}
Response Fields:
Path | Type | Description |
---|---|---|
|
|
응답시간 |
|
|
응답코드 |
|
|
유저 ID |
|
|
이메일 |
|
|
이름 |
|
|
등록자 |
|
|
등록일 yyyy-MM-dd HH:mm:ss |
유저 삭제 (A03)
Request
Request HTTP Example:
DELETE /users/user-71d73085c3264233a342c0e5bef6a4cb HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MjksInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMjksImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.OTObmSea3CctVTwTVIIDomeVGjYeINSCaXaCryRn39d5rscRrr3Y2_1_t8FEumcpFpP33dh4k_QmrUb_9FZnlg
Accept: application/json
Host: localhost:8080
Header :
Name | Required | Description |
---|---|---|
|
true |
application/json |
|
true |
Access Token (JWT) |
Path Parameters : ./users/{userId}
Parameter | Required | Description |
---|---|---|
|
true |
유저 ID |
CURL :
$ curl 'http://localhost:8080/users/user-71d73085c3264233a342c0e5bef6a4cb' -i -X DELETE \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MjksInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMjksImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.OTObmSea3CctVTwTVIIDomeVGjYeINSCaXaCryRn39d5rscRrr3Y2_1_t8FEumcpFpP33dh4k_QmrUb_9FZnlg' \
-H 'Accept: application/json'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
Content-Length: 61
{
"timestamp" : "2021-10-14 19:07:09",
"code" : "40100"
}
Response Fields:
Path | Type | Description |
---|---|---|
|
|
응답시간 |
|
|
응답코드 |
Notice (B)
공지사항 등록(B01)
Request
Request HTTP Example:
POST /notices HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA
Accept: application/json
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=title
Test Title
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=content
Test Content
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=multipartFiles; filename=File_1.txt
Content-Type: text/plain
File 1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=multipartFiles; filename=File_2.txt
Content-Type: text/plain
File 2
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=multipartFiles; filename=File_3.txt
Content-Type: text/plain
File 3
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
Header :
Name | Required | Description |
---|---|---|
|
true |
multipart/form-data |
|
true |
Access Token (JWT) |
Request Parameters :
Parameter | Required | Description | Validation |
---|---|---|---|
|
true |
제목 |
NotBlank |
|
true |
내용 |
NotBlank |
Part | Required | Description |
---|---|---|
|
업로드파일[] |
CURL :
$ curl 'http://localhost:8080/notices' -i -X POST \
-H 'Content-Type: multipart/form-data;charset=UTF-8' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA' \
-H 'Accept: application/json' \
-F 'multipartFiles=@File_1.txt;type=text/plain' \
-F 'multipartFiles=@File_2.txt;type=text/plain' \
-F 'multipartFiles=@File_3.txt;type=text/plain' \
-F 'title=Test Title' \
-F 'content=Test Content'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
Content-Length: 1387
{
"timestamp" : "2021-10-14 19:07:10",
"code" : "40100",
"result" : {
"id" : "notice-8e5c6702364449eba486715d2599814e",
"title" : "Test Title",
"content" : "Test Content",
"readCnt" : 0,
"fileCnt" : 3,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:10",
"files" : [ {
"id" : "att-4df36a39e74444579673c9186d1000db",
"fileNm" : "File_1.txt",
"contentType" : "text/plain",
"downloadCnt" : 0,
"fileUrl" : "http://localhost:8080/notice/notice-8e5c6702364449eba486715d2599814e/attachment/att-4df36a39e74444579673c9186d1000db",
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:10"
}, {
"id" : "att-9da76f0b349643418527bac8b77d1550",
"fileNm" : "File_2.txt",
"contentType" : "text/plain",
"downloadCnt" : 0,
"fileUrl" : "http://localhost:8080/notice/notice-8e5c6702364449eba486715d2599814e/attachment/att-9da76f0b349643418527bac8b77d1550",
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:10"
}, {
"id" : "att-ed486fcfcdb742d1ada198d54784d238",
"fileNm" : "File_3.txt",
"contentType" : "text/plain",
"downloadCnt" : 0,
"fileUrl" : "http://localhost:8080/notice/notice-8e5c6702364449eba486715d2599814e/attachment/att-ed486fcfcdb742d1ada198d54784d238",
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:10"
} ]
}
}
Response Fields:
Path | Type | Description |
---|---|---|
|
|
응답시간 |
|
|
응답코드 |
|
|
공지사항 ID |
|
|
제목 |
|
|
내용 |
|
|
파일수 |
|
|
조회수 |
|
|
등록자 |
|
|
등록일 yyyy-MM-dd HH:mm:ss |
|
|
파일 ID |
|
|
파일명 |
|
|
Content Type |
|
|
다운로드수 |
|
|
파일Url |
|
|
등록자 |
|
|
등록일 yyyy-MM-dd HH:mm:ss |
공지사항 수정(B02)
Request
Request HTTP Example:
POST /notices/notice-01 HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA
Accept: application/json
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=title
Update Title
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=content
Update Content
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=multipartFiles; filename=SAMPLE.txt
Content-Type: text/plain
SAMPLE
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
Header :
Name | Required | Description |
---|---|---|
|
true |
multipart/form-data |
|
true |
Access Token (JWT) |
Path Parameters : ./notices/{noticeId}
Parameter | Required | Description |
---|---|---|
|
true |
공지사항 ID |
Request Parameters :
Parameter | Required | Description | Validation |
---|---|---|---|
|
true |
제목 |
NotBlank |
|
true |
내용 |
NotBlank |
Part | Required | Description |
---|---|---|
|
업로드파일[] |
CURL :
$ curl 'http://localhost:8080/notices/notice-01' -i -X POST \
-H 'Content-Type: multipart/form-data;charset=UTF-8' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA' \
-H 'Accept: application/json' \
-F 'multipartFiles=@SAMPLE.txt;type=text/plain' \
-F 'title=Update Title' \
-F 'content=Update Content'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
Content-Length: 1157
{
"timestamp" : "2021-10-14 19:07:10",
"code" : "40100",
"result" : {
"id" : "notice-01",
"title" : "Update Title",
"content" : "Update Content",
"readCnt" : 0,
"fileCnt" : 3,
"createdBy" : "user-01",
"createdDt" : "2020-11-11 00:00:11",
"files" : [ {
"id" : "att-01",
"fileNm" : "Sample File1",
"contentType" : "text/plain",
"downloadCnt" : 0,
"fileUrl" : "http://localhost:8080/notice/notice-01/attachment/att-01",
"createdBy" : "user-01",
"createdDt" : "2020-11-11 00:00:11"
}, {
"id" : "att-02",
"fileNm" : "Sample File2",
"contentType" : "text/plain",
"downloadCnt" : 0,
"fileUrl" : "http://localhost:8080/notice/notice-01/attachment/att-02",
"createdBy" : "user-01",
"createdDt" : "2020-11-11 00:00:11"
}, {
"id" : "att-8187eae23e934a28bcc81ae03fa649b4",
"fileNm" : "SAMPLE.txt",
"contentType" : "text/plain",
"downloadCnt" : 0,
"fileUrl" : "http://localhost:8080/notice/notice-01/attachment/att-8187eae23e934a28bcc81ae03fa649b4",
"createdBy" : "",
"createdDt" : ""
} ]
}
}
Response Fields:
Path | Type | Description |
---|---|---|
|
|
응답시간 |
|
|
응답코드 |
|
|
공지사항 ID |
|
|
제목 |
|
|
내용 |
|
|
파일수 |
|
|
조회수 |
|
|
등록자 |
|
|
등록일 yyyy-MM-dd HH:mm:ss |
|
|
파일 ID |
|
|
파일명 |
|
|
Content Type |
|
|
다운로드수 |
|
|
파일Url |
|
|
등록자 |
|
|
등록일 yyyy-MM-dd HH:mm:ss |
공지사항 상세 조회(B03)
Request
Request HTTP Example:
GET /notices/notice-60aa68ddcb354728b31491cebbb73593 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA
Accept: application/json
Host: localhost:8080
Header :
Name | Required | Description |
---|---|---|
|
true |
application/json |
|
true |
Access Token (JWT) |
Path Parameters : ./notices/{noticeId}
Parameter | Required | Description |
---|---|---|
|
true |
공지사항 ID |
CURL :
$ curl 'http://localhost:8080/notices/notice-60aa68ddcb354728b31491cebbb73593' -i -X GET \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA' \
-H 'Accept: application/json'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
Content-Length: 1027
{
"timestamp" : "2021-10-14 19:07:10",
"code" : "40100",
"result" : {
"id" : "notice-60aa68ddcb354728b31491cebbb73593",
"title" : "New Title",
"content" : "New Content",
"readCnt" : 1,
"fileCnt" : 2,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:10",
"files" : [ {
"id" : "att-40af257802844858b6b1fb6b83c45eaf",
"fileNm" : "File_1.txt",
"contentType" : "text/plain",
"downloadCnt" : 0,
"fileUrl" : "http://localhost:8080/notice/notice-60aa68ddcb354728b31491cebbb73593/attachment/att-40af257802844858b6b1fb6b83c45eaf",
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:10"
}, {
"id" : "att-6c172fd91be84b3db52bf1d16ebec9b8",
"fileNm" : "File_2.txt",
"contentType" : "text/plain",
"downloadCnt" : 0,
"fileUrl" : "http://localhost:8080/notice/notice-60aa68ddcb354728b31491cebbb73593/attachment/att-6c172fd91be84b3db52bf1d16ebec9b8",
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:10"
} ]
}
}
Response Fields:
Path | Type | Description |
---|---|---|
|
|
응답시간 |
|
|
응답코드 |
|
|
공지사항 ID |
|
|
제목 |
|
|
내용 |
|
|
파일수 |
|
|
조회수 |
|
|
등록자 |
|
|
등록일 yyyy-MM-dd HH:mm:ss |
|
|
파일 ID |
|
|
파일명 |
|
|
Content Type |
|
|
다운로드수 |
|
|
파일Url |
|
|
등록자 |
|
|
등록일 yyyy-MM-dd HH:mm:ss |
공지사항 조회(B04)
Request
Request HTTP Example:
GET /notices?page=0&size=15&title=New HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MjksInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMjksImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.OTObmSea3CctVTwTVIIDomeVGjYeINSCaXaCryRn39d5rscRrr3Y2_1_t8FEumcpFpP33dh4k_QmrUb_9FZnlg
Accept: application/json
Host: localhost:8080
Header :
Name | Required | Description |
---|---|---|
|
true |
application/json |
|
true |
Access Token (JWT) |
Request Parameters :
Parameter | Required | Description | Validation |
---|---|---|---|
|
요청 페이지 (default 0) |
Number |
|
|
페이지당 출력수 (default 20) |
Number |
|
|
제목 (검색조건) |
CURL :
$ curl 'http://localhost:8080/notices?page=0&size=15&title=New' -i -X GET \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MjksInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMjksImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.OTObmSea3CctVTwTVIIDomeVGjYeINSCaXaCryRn39d5rscRrr3Y2_1_t8FEumcpFpP33dh4k_QmrUb_9FZnlg' \
-H 'Accept: application/json'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
Content-Length: 3610
{
"timestamp" : "2021-10-14 19:07:10",
"code" : "40100",
"result" : [ {
"id" : "notice-5f72a9240a194c42ac8912a6dd08299b",
"title" : "New Title : 20",
"content" : "New Content : 20",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-b82ba12babb24cd399bfece79eb73989",
"title" : "New Title : 19",
"content" : "New Content : 19",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-c7f711ed656e483fbd4dad951518baa3",
"title" : "New Title : 18",
"content" : "New Content : 18",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-d7851a16c8e6425cbf995e83d74b07fb",
"title" : "New Title : 17",
"content" : "New Content : 17",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-7e14faf4d3a24ad89bacd11c7bb9bc6d",
"title" : "New Title : 16",
"content" : "New Content : 16",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-47c81d9c7766489f8c4a632e541c1321",
"title" : "New Title : 15",
"content" : "New Content : 15",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-36727bc74a1746c79de0aa9df5fd81bd",
"title" : "New Title : 14",
"content" : "New Content : 14",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-f3d76ce245da4b72ad3f3001280cff77",
"title" : "New Title : 13",
"content" : "New Content : 13",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-abe10bc677064196af9d73f4bd19e440",
"title" : "New Title : 12",
"content" : "New Content : 12",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-37ecac18ce0447be96fa12ca7c363cf9",
"title" : "New Title : 11",
"content" : "New Content : 11",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-de805090d6d84d7cb4e290615a19267d",
"title" : "New Title : 10",
"content" : "New Content : 10",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-5c83a0ac022142b39db2686f1a159518",
"title" : "New Title : 9",
"content" : "New Content : 9",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-4b211d2036584a9c915b64b5faaf73b0",
"title" : "New Title : 8",
"content" : "New Content : 8",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-08947f670f4f4efa83588876174661f8",
"title" : "New Title : 7",
"content" : "New Content : 7",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
}, {
"id" : "notice-a88d4fc37e7c4a98b0d25feacc7a3459",
"title" : "New Title : 6",
"content" : "New Content : 6",
"readCnt" : 0,
"fileCnt" : 0,
"createdBy" : "",
"createdDt" : "2021-10-14 19:07:09"
} ],
"page" : {
"size" : 15,
"totalElements" : 20,
"totalPages" : 2,
"currentPage" : 0
}
}
Response Fields:
Path | Type | Description |
---|---|---|
|
|
응답시간 |
|
|
응답코드 |
|
|
공지사항 ID |
|
|
제목 |
|
|
내용 |
|
|
파일수 |
|
|
조회수 |
|
|
등록자 |
|
|
등록일 yyyy-MM-dd HH:mm:ss |
|
|
페이지당 출력수 |
|
|
검색된 전체 요소 개수 |
|
|
전체 페이지 수 |
|
|
현재 페이지의 번호 (0부터 시작) |
공지사항 삭제(B06)
Request
Request HTTP Example:
DELETE /notices/notice-f0363fc4f5e14658800556742a8a9a74 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA
Host: localhost:8080
Header :
Name | Required | Description |
---|---|---|
|
true |
application/json |
|
true |
Access Token (JWT) |
Path Parameters : ./notices/{noticeId}
Parameter | Required | Description |
---|---|---|
|
true |
공지사항 ID |
CURL :
$ curl 'http://localhost:8080/notices/notice-f0363fc4f5e14658800556742a8a9a74' -i -X DELETE \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
Content-Length: 61
{
"timestamp" : "2021-10-14 19:07:10",
"code" : "40100"
}
Response Fields:
Path | Type | Description |
---|---|---|
|
|
응답시간 |
|
|
응답코드 |
공지사항 첨부파일 다운로드(B06)
Request
Request HTTP Example:
GET /notices/notice-6d769b6857714c8c95dfefdb3130beea/attachments/att-1b9ada7b23324511a1f43c46ddff5d01 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA
Host: localhost:8080
Header :
Name | Required | Description |
---|---|---|
|
true |
application/json |
|
true |
Access Token (JWT) |
Path Parameters : ./notices/{noticeId}/attachments/{attachmentId}
Parameter | Required | Description |
---|---|---|
|
true |
공지사항 ID |
|
true |
첨부파일 ID |
CURL :
$ curl 'http://localhost:8080/notices/notice-6d769b6857714c8c95dfefdb3130beea/attachments/att-1b9ada7b23324511a1f43c46ddff5d01' -i -X GET \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/octet-stream;charset=UTF-8
Content-Length: 6
Content-Transfer-Encoding: binary
Content-Disposition: attachment; filename="File_1.txt"
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
File 1
공지사항 첨부파일 삭제(B07)
Request
Request HTTP Example:
DELETE /notices/notice-c350b8ffd4e14c93aabcf9d3bedb32b9/attachments/att-8d09fa0d09084a498e7edd6271f2fde1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA
Host: localhost:8080
Header :
Name | Required | Description |
---|---|---|
|
true |
application/json |
|
true |
Access Token (JWT) |
Path Parameters : ./notices/{noticeId}/attachments/{attachmentId}
Parameter | Required | Description |
---|---|---|
|
true |
공지사항 ID |
|
true |
첨부파일 ID |
CURL :
$ curl 'http://localhost:8080/notices/notice-c350b8ffd4e14c93aabcf9d3bedb32b9/attachments/att-8d09fa0d09084a498e7edd6271f2fde1' -i -X DELETE \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdHkiOiJST0xFX1VTRVIiLCJleHAiOjE2MzQyOTI0MzAsInVzZXJJZCI6InVzZXItMDEiLCJpYXQiOjE2MzQyMDYwMzAsImVtYWlsIjoidXNlcjAxQGdtYWlsLmNvbSJ9.IcCUo0rKc6TglY-zZ5-8V8fNX5ZUdg8rq2II8O6cFLB_IpXiugwhIUbNjhLA6HICa4XONG-uQNrzL8JSwS42WA'
Response
Response HTTP Example:
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: SAMEORIGIN
Content-Length: 61
{
"timestamp" : "2021-10-14 19:07:10",
"code" : "40100"
}
Response Fields:
Path | Type | Description |
---|---|---|
|
|
응답시간 |
|
|
응답코드 |