diff --git a/src/main/java/com/scg/stop/project/controller/ProjectController.java b/src/main/java/com/scg/stop/project/controller/ProjectController.java index 83a5afda..bd13aa01 100644 --- a/src/main/java/com/scg/stop/project/controller/ProjectController.java +++ b/src/main/java/com/scg/stop/project/controller/ProjectController.java @@ -3,6 +3,7 @@ import com.scg.stop.auth.annotation.AuthUser; import com.scg.stop.project.domain.ProjectCategory; +import com.scg.stop.project.domain.ProjectType; import com.scg.stop.project.dto.request.CommentRequest; import com.scg.stop.project.dto.request.ProjectRequest; import com.scg.stop.project.dto.response.CommentResponse; @@ -20,6 +21,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequiredArgsConstructor @RequestMapping("/projects") @@ -30,12 +33,13 @@ public class ProjectController { @GetMapping public ResponseEntity> getProjects( @RequestParam(value = "title", required = false) String title, - @RequestParam(value = "year", required = false) Integer year, - @RequestParam(value = "category", required = false) ProjectCategory category, + @RequestParam(value = "year", required = false) List year, + @RequestParam(value = "category", required = false) List category, + @RequestParam(value = "type", required = false) List type, @PageableDefault(page = 0, size = 10) Pageable pageable, @AuthUser(accessType = {AccessType.OPTIONAL}) User user ){ - Page pageProjectResponse = projectService.getProjects(title, year, category, pageable, user); + Page pageProjectResponse = projectService.getProjects(title, year, category, type, pageable, user); return ResponseEntity.status(HttpStatus.OK).body(pageProjectResponse); } diff --git a/src/main/java/com/scg/stop/project/repository/ProjectRepository.java b/src/main/java/com/scg/stop/project/repository/ProjectRepository.java index e8d8213f..b0d60d48 100644 --- a/src/main/java/com/scg/stop/project/repository/ProjectRepository.java +++ b/src/main/java/com/scg/stop/project/repository/ProjectRepository.java @@ -3,22 +3,27 @@ import com.scg.stop.project.domain.Project; import com.scg.stop.project.domain.ProjectCategory; +import com.scg.stop.project.domain.ProjectType; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; +import java.util.List; + public interface ProjectRepository extends JpaRepository { // @EntityGraph(attributePaths = {"thumbnail", "members"}) @Query("SELECT p FROM Project p " + "WHERE (:title IS NULL OR p.name LIKE %:title%) " + - "AND (:year IS NULL OR p.year = :year) " + - "AND (:category IS NULL OR p.category = :category)") + "AND (:year IS NULL OR p.year IN :year) " + + "AND (:category IS NULL OR p.category IN :category)" + + "AND (:type IS NULL OR p.type IN :type)") Page findProjects( @Param("title") String title, - @Param("year") Integer year, - @Param("category") ProjectCategory category, + @Param("year") List year, + @Param("category") List category, + @Param("type") List type, Pageable pageable ); diff --git a/src/main/java/com/scg/stop/project/service/ProjectService.java b/src/main/java/com/scg/stop/project/service/ProjectService.java index 9563579f..9084e3ca 100644 --- a/src/main/java/com/scg/stop/project/service/ProjectService.java +++ b/src/main/java/com/scg/stop/project/service/ProjectService.java @@ -49,8 +49,8 @@ public class ProjectService { private EntityManager entityManager; @Transactional(readOnly = true) - public Page getProjects(String title, Integer year, ProjectCategory category, Pageable pageable, User user){ - Page projects = projectRepository.findProjects(title, year, category, pageable); + public Page getProjects(String title, List year, List category, List type, Pageable pageable, User user){ + Page projects = projectRepository.findProjects(title, year, category, type, pageable); Page projectResponses = projects.map(project -> ProjectResponse.of(user, project)); return projectResponses; } diff --git a/src/main/resources/static/docs/aiHub-controller-test.html b/src/main/resources/static/docs/aiHub-controller-test.html index ef2b1d81..50e2f0c0 100644 --- a/src/main/resources/static/docs/aiHub-controller-test.html +++ b/src/main/resources/static/docs/aiHub-controller-test.html @@ -1206,7 +1206,7 @@

Response fields

diff --git a/src/main/resources/static/docs/application.html b/src/main/resources/static/docs/application.html index f53507d0..b38e1d44 100644 --- a/src/main/resources/static/docs/application.html +++ b/src/main/resources/static/docs/application.html @@ -502,6 +502,8 @@

HTTP response

{ "totalPages" : 1, "totalElements" : 3, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, @@ -509,46 +511,44 @@

HTTP response

"division" : "배민", "position" : null, "userType" : "INACTIVE_COMPANY", - "createdAt" : "2024-09-12T15:40:13.640315", - "updatedAt" : "2024-09-12T15:40:13.640318" + "createdAt" : "2024-09-19T19:31:37.360136", + "updatedAt" : "2024-09-19T19:31:37.360138" }, { "id" : 2, "name" : "김교수", "division" : "솦융대", "position" : "교수", "userType" : "INACTIVE_PROFESSOR", - "createdAt" : "2024-09-12T15:40:13.640334", - "updatedAt" : "2024-09-12T15:40:13.640335" + "createdAt" : "2024-09-19T19:31:37.360152", + "updatedAt" : "2024-09-19T19:31:37.360153" }, { "id" : 3, "name" : "박교수", "division" : "정통대", "position" : "교수", "userType" : "INACTIVE_PROFESSOR", - "createdAt" : "2024-09-12T15:40:13.640338", - "updatedAt" : "2024-09-12T15:40:13.640341" + "createdAt" : "2024-09-19T19:31:37.360155", + "updatedAt" : "2024-09-19T19:31:37.360156" } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 3, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 3, - "first" : true, - "last" : true, "empty" : false } @@ -796,8 +796,8 @@

HTTP response

"division" : "배민", "position" : "CEO", "userType" : "INACTIVE_COMPANY", - "createdAt" : "2024-09-12T15:40:13.738394", - "updatedAt" : "2024-09-12T15:40:13.738396" + "createdAt" : "2024-09-19T19:31:37.383434", + "updatedAt" : "2024-09-19T19:31:37.383435" } @@ -936,8 +936,8 @@

HTTP response

"division" : "배민", "position" : "CEO", "userType" : "COMPANY", - "createdAt" : "2024-09-12T15:40:13.718577", - "updatedAt" : "2024-09-12T15:40:13.718581" + "createdAt" : "2024-09-19T19:31:37.377496", + "updatedAt" : "2024-09-19T19:31:37.377497" } @@ -1077,7 +1077,7 @@

HTTP response

diff --git a/src/main/resources/static/docs/auth-controller-test.html b/src/main/resources/static/docs/auth-controller-test.html index a25761cf..81806212 100644 --- a/src/main/resources/static/docs/auth-controller-test.html +++ b/src/main/resources/static/docs/auth-controller-test.html @@ -489,8 +489,8 @@

HTTP response

Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers -Set-Cookie: refresh-token=refresh_token; Path=/; Max-Age=604800; Expires=Thu, 19 Sep 2024 06:40:08 GMT; Secure; HttpOnly; SameSite=None -Set-Cookie: access-token=access_token; Path=/; Max-Age=604800; Expires=Thu, 19 Sep 2024 06:40:08 GMT; Secure; SameSite=None +Set-Cookie: refresh-token=refresh_token; Path=/; Max-Age=604800; Expires=Thu, 26 Sep 2024 10:31:35 GMT; Secure; HttpOnly; SameSite=None +Set-Cookie: access-token=access_token; Path=/; Max-Age=604800; Expires=Thu, 26 Sep 2024 10:31:35 GMT; Secure; SameSite=None Location: https://localhost:3000/login/kakao @@ -499,14 +499,16 @@

HTTP response

Response fields

---++++ - + + @@ -514,6 +516,7 @@

Response fields

+ @@ -803,7 +806,7 @@

HTTP response

diff --git a/src/main/resources/static/docs/department.html b/src/main/resources/static/docs/department.html deleted file mode 100644 index 49c2759d..00000000 --- a/src/main/resources/static/docs/department.html +++ /dev/null @@ -1,530 +0,0 @@ - - - - - - - -학과 API - - - - - -
-
-

학과 API

-
-
-
-

학과 리스트 조회 (GET /departments)

-
-
-
-

HTTP request

-
-
-
GET /departments HTTP/1.1
-Content-Type: application/json;charset=UTF-8
-Host: localhost:8080
-
-
-
-

==

-
-
-

Snippet not found for operation::department-controller-test/get-departments

-
-
-
-

HTTP response

-
-
-
HTTP/1.1 200 OK
-Vary: Origin
-Vary: Access-Control-Request-Method
-Vary: Access-Control-Request-Headers
-Content-Type: application/json
-Content-Length: 92
-
-[ {
-  "id" : 1,
-  "name" : "소프트웨어학과"
-}, {
-  "id" : 2,
-  "name" : "학과2"
-} ]
-
-
-
-
-

Response fields

-
PathName TypeRequired Description

accessToken

String

true

access token

----- - - - - - - - - - - - - - - - - - - - -
PathTypeDescription

[].id

Number

학과 ID

[].name

String

학과 이름

- - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/static/docs/eventNotice.html b/src/main/resources/static/docs/eventNotice.html index b0b79f1f..cb9cc997 100644 --- a/src/main/resources/static/docs/eventNotice.html +++ b/src/main/resources/static/docs/eventNotice.html @@ -529,29 +529,29 @@

HTTP response

"content" : "이벤트 공지 사항 내용", "hitCount" : 0, "fixed" : true, - "createdAt" : "2024-09-12T15:40:10.068832", - "updatedAt" : "2024-09-12T15:40:10.068834", + "createdAt" : "2024-09-19T19:31:35.77588", + "updatedAt" : "2024-09-19T19:31:35.775882", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:10.068806", - "updatedAt" : "2024-09-12T15:40:10.068816" + "createdAt" : "2024-09-19T19:31:35.775866", + "updatedAt" : "2024-09-19T19:31:35.775871" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:10.06882", - "updatedAt" : "2024-09-12T15:40:10.068825" + "createdAt" : "2024-09-19T19:31:35.775874", + "updatedAt" : "2024-09-19T19:31:35.775875" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:10.068827", - "updatedAt" : "2024-09-12T15:40:10.068829" + "createdAt" : "2024-09-19T19:31:35.775877", + "updatedAt" : "2024-09-19T19:31:35.775878" } ] } @@ -722,48 +722,48 @@

HTTP response

Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 874 +Content-Length: 873 { "totalPages" : 1, "totalElements" : 2, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, "title" : "이벤트 공지 사항 1", "hitCount" : 10, "fixed" : true, - "createdAt" : "2024-09-12T15:40:10.122121", - "updatedAt" : "2024-09-12T15:40:10.122129" + "createdAt" : "2024-09-19T19:31:35.78807", + "updatedAt" : "2024-09-19T19:31:35.788077" }, { "id" : 2, "title" : "이벤트 공지 사항 2", "hitCount" : 10, "fixed" : false, - "createdAt" : "2024-09-12T15:40:10.122141", - "updatedAt" : "2024-09-12T15:40:10.122143" + "createdAt" : "2024-09-19T19:31:35.788089", + "updatedAt" : "2024-09-19T19:31:35.788091" } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 2, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 2, - "first" : true, - "last" : true, "empty" : false } @@ -994,7 +994,7 @@

HTTP response

Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 958 +Content-Length: 959 { "id" : 1, @@ -1002,29 +1002,29 @@

HTTP response

"content" : "content", "hitCount" : 10, "fixed" : true, - "createdAt" : "2024-09-12T15:40:09.982254", - "updatedAt" : "2024-09-12T15:40:09.982261", + "createdAt" : "2024-09-19T19:31:35.755641", + "updatedAt" : "2024-09-19T19:31:35.755643", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:09.982231", - "updatedAt" : "2024-09-12T15:40:09.982241" + "createdAt" : "2024-09-19T19:31:35.755623", + "updatedAt" : "2024-09-19T19:31:35.755629" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:09.982245", - "updatedAt" : "2024-09-12T15:40:09.982247" + "createdAt" : "2024-09-19T19:31:35.755634", + "updatedAt" : "2024-09-19T19:31:35.755636" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:09.98225", - "updatedAt" : "2024-09-12T15:40:09.982252" + "createdAt" : "2024-09-19T19:31:35.755638", + "updatedAt" : "2024-09-19T19:31:35.755639" } ] } @@ -1238,7 +1238,7 @@

HTTP response

Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 973 +Content-Length: 975 { "id" : 1, @@ -1247,28 +1247,28 @@

HTTP response

"hitCount" : 10, "fixed" : false, "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:09.86707", + "updatedAt" : "2024-09-19T19:31:35.733932", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:09.867015" + "updatedAt" : "2024-09-19T19:31:35.733892" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:09.86703" + "updatedAt" : "2024-09-19T19:31:35.733903" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:09.867035" + "updatedAt" : "2024-09-19T19:31:35.733907" } ] } @@ -1440,7 +1440,7 @@

HTTP response

diff --git a/src/main/resources/static/docs/eventPeriod.html b/src/main/resources/static/docs/eventPeriod.html index d758ae47..1d671c25 100644 --- a/src/main/resources/static/docs/eventPeriod.html +++ b/src/main/resources/static/docs/eventPeriod.html @@ -460,8 +460,8 @@

HTTP request

Cookie: refresh-token=refresh_token { - "start" : "2024-09-12T15:40:10.900738", - "end" : "2024-09-22T15:40:10.900746" + "start" : "2024-09-19T19:31:35.989802", + "end" : "2024-09-29T19:31:35.989807" } @@ -513,10 +513,10 @@

HTTP response

{ "id" : 1, "year" : 2024, - "start" : "2024-09-12T15:40:10.900751", - "end" : "2024-09-22T15:40:10.900753", - "createdAt" : "2024-09-12T15:40:10.900755", - "updatedAt" : "2024-09-12T15:40:10.900757" + "start" : "2024-09-19T19:31:35.989811", + "end" : "2024-09-29T19:31:35.989812", + "createdAt" : "2024-09-19T19:31:35.989814", + "updatedAt" : "2024-09-19T19:31:35.989815" } @@ -605,15 +605,15 @@

HTTP response

Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 205 +Content-Length: 204 { "id" : 1, "year" : 2024, - "start" : "2024-09-12T15:40:10.879338", - "end" : "2024-09-22T15:40:10.879341", - "createdAt" : "2024-09-12T15:40:10.879345", - "updatedAt" : "2024-09-12T15:40:10.879347" + "start" : "2024-09-19T19:31:35.982073", + "end" : "2024-09-29T19:31:35.982075", + "createdAt" : "2024-09-19T19:31:35.982078", + "updatedAt" : "2024-09-19T19:31:35.98208" } @@ -702,22 +702,22 @@

HTTP response

Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 414 +Content-Length: 415 [ { "id" : 1, "year" : 2024, - "start" : "2024-09-12T15:40:10.930296", - "end" : "2024-09-22T15:40:10.930303", - "createdAt" : "2024-09-12T15:40:10.93031", - "updatedAt" : "2024-09-12T15:40:10.930313" + "start" : "2024-09-19T19:31:35.998529", + "end" : "2024-09-29T19:31:35.998533", + "createdAt" : "2024-09-19T19:31:35.998536", + "updatedAt" : "2024-09-19T19:31:35.998538" }, { "id" : 2, "year" : 2025, - "start" : "2024-09-12T15:40:10.930315", - "end" : "2024-09-22T15:40:10.930318", - "createdAt" : "2024-09-12T15:40:10.93032", - "updatedAt" : "2024-09-12T15:40:10.930322" + "start" : "2024-09-19T19:31:35.99854", + "end" : "2024-09-29T19:31:35.998542", + "createdAt" : "2024-09-19T19:31:35.998544", + "updatedAt" : "2024-09-19T19:31:35.998546" } ] @@ -798,8 +798,8 @@

HTTP request

Cookie: refresh-token=refresh_token { - "start" : "2024-09-12T15:40:10.795299", - "end" : "2024-09-22T15:40:10.795307" + "start" : "2024-09-19T19:31:35.966375", + "end" : "2024-09-29T19:31:35.966379" } @@ -851,10 +851,10 @@

HTTP response

{ "id" : 1, "year" : 2024, - "start" : "2024-09-12T15:40:10.795354", - "end" : "2024-09-22T15:40:10.795356", - "createdAt" : "2024-09-12T15:40:10.795359", - "updatedAt" : "2024-09-12T15:40:10.795361" + "start" : "2024-09-19T19:31:35.966409", + "end" : "2024-09-29T19:31:35.966411", + "createdAt" : "2024-09-19T19:31:35.966413", + "updatedAt" : "2024-09-19T19:31:35.966414" } @@ -925,7 +925,7 @@

Response fields

diff --git a/src/main/resources/static/docs/file-controller-test.html b/src/main/resources/static/docs/file-controller-test.html index 05862b7a..c7d5614f 100644 --- a/src/main/resources/static/docs/file-controller-test.html +++ b/src/main/resources/static/docs/file-controller-test.html @@ -500,22 +500,22 @@

HTTP response

Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 446 +Content-Length: 445 [ { "id" : 1, - "uuid" : "4357c474-b07b-46f2-8c57-af272cdb9d35", + "uuid" : "4482f4a5-07bb-4c5c-abaf-1663d973f50d", "name" : "첨부파일1.png", "mimeType" : "image/png", - "createdAt" : "2024-09-12T15:40:11.841735", - "updatedAt" : "2024-09-12T15:40:11.841745" + "createdAt" : "2024-09-19T19:31:36.37368", + "updatedAt" : "2024-09-19T19:31:36.373685" }, { "id" : 2, - "uuid" : "fdcd2f22-304c-4074-806c-837f5a27daf7", + "uuid" : "0ed8bd29-e482-491f-ab58-46a69f5bfeeb", "name" : "첨부파일2.pdf", "mimeType" : "application/pdf", - "createdAt" : "2024-09-12T15:40:11.841818", - "updatedAt" : "2024-09-12T15:40:11.841821" + "createdAt" : "2024-09-19T19:31:36.373739", + "updatedAt" : "2024-09-19T19:31:36.373742" } ] @@ -639,7 +639,7 @@

HTTP response

diff --git a/src/main/resources/static/docs/gallery.html b/src/main/resources/static/docs/gallery.html index 5938bfaa..5f098c98 100644 --- a/src/main/resources/static/docs/gallery.html +++ b/src/main/resources/static/docs/gallery.html @@ -522,7 +522,7 @@

HTTP response

Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 890 +Content-Length: 889 { "id" : 1, @@ -530,29 +530,29 @@

HTTP response

"year" : 2024, "month" : 4, "hitCount" : 1, - "createdAt" : "2024-09-12T15:40:12.73792", - "updatedAt" : "2024-09-12T15:40:12.737922", + "createdAt" : "2024-09-19T19:31:36.59199", + "updatedAt" : "2024-09-19T19:31:36.591991", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "사진1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.737866", - "updatedAt" : "2024-09-12T15:40:12.737906" + "createdAt" : "2024-09-19T19:31:36.59197", + "updatedAt" : "2024-09-19T19:31:36.591975" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "사진2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.737911", - "updatedAt" : "2024-09-12T15:40:12.737914" + "createdAt" : "2024-09-19T19:31:36.591978", + "updatedAt" : "2024-09-19T19:31:36.591979" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "사진3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.737916", - "updatedAt" : "2024-09-12T15:40:12.737917" + "createdAt" : "2024-09-19T19:31:36.591985", + "updatedAt" : "2024-09-19T19:31:36.591987" } ] } @@ -728,11 +728,13 @@

HTTP response

Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 1234 +Content-Length: 1235 { "totalPages" : 1, "totalElements" : 1, + "first" : true, + "last" : true, "size" : 1, "content" : [ { "id" : 1, @@ -740,41 +742,39 @@

HTTP response

"year" : 2024, "month" : 4, "hitCount" : 0, - "createdAt" : "2024-09-12T15:40:12.618942", - "updatedAt" : "2024-09-12T15:40:12.618945", + "createdAt" : "2024-09-19T19:31:36.570363", + "updatedAt" : "2024-09-19T19:31:36.570365", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "사진1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.618911", - "updatedAt" : "2024-09-12T15:40:12.61892" + "createdAt" : "2024-09-19T19:31:36.570345", + "updatedAt" : "2024-09-19T19:31:36.570349" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "사진2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.618924", - "updatedAt" : "2024-09-12T15:40:12.618931" + "createdAt" : "2024-09-19T19:31:36.570354", + "updatedAt" : "2024-09-19T19:31:36.570356" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "사진3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.618934", - "updatedAt" : "2024-09-12T15:40:12.618936" + "createdAt" : "2024-09-19T19:31:36.570357", + "updatedAt" : "2024-09-19T19:31:36.570359" } ] } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, - "pageable" : "INSTANCE", "numberOfElements" : 1, - "first" : true, - "last" : true, + "pageable" : "INSTANCE", "empty" : false } @@ -1005,7 +1005,7 @@

HTTP response

Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 890 +Content-Length: 891 { "id" : 1, @@ -1013,29 +1013,29 @@

HTTP response

"year" : 2024, "month" : 4, "hitCount" : 1, - "createdAt" : "2024-09-12T15:40:12.703753", - "updatedAt" : "2024-09-12T15:40:12.703755", + "createdAt" : "2024-09-19T19:31:36.583527", + "updatedAt" : "2024-09-19T19:31:36.583528", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "사진1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.703734", - "updatedAt" : "2024-09-12T15:40:12.703742" + "createdAt" : "2024-09-19T19:31:36.583515", + "updatedAt" : "2024-09-19T19:31:36.583518" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "사진2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.703746", - "updatedAt" : "2024-09-12T15:40:12.703748" + "createdAt" : "2024-09-19T19:31:36.583521", + "updatedAt" : "2024-09-19T19:31:36.583522" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "사진3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.70375", - "updatedAt" : "2024-09-12T15:40:12.703751" + "createdAt" : "2024-09-19T19:31:36.583524", + "updatedAt" : "2024-09-19T19:31:36.583525" } ] } @@ -1289,7 +1289,7 @@

HTTP response

Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 886 +Content-Length: 888 { "id" : 1, @@ -1297,29 +1297,29 @@

HTTP response

"year" : 2024, "month" : 5, "hitCount" : 1, - "createdAt" : "2024-09-12T15:40:12.441337", - "updatedAt" : "2024-09-12T15:40:12.44134", + "createdAt" : "2024-09-19T19:31:36.546372", + "updatedAt" : "2024-09-19T19:31:36.546374", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "사진1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.441249", - "updatedAt" : "2024-09-12T15:40:12.441257" + "createdAt" : "2024-09-19T19:31:36.546306", + "updatedAt" : "2024-09-19T19:31:36.546312" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "사진2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.441265", - "updatedAt" : "2024-09-12T15:40:12.441267" + "createdAt" : "2024-09-19T19:31:36.546317", + "updatedAt" : "2024-09-19T19:31:36.546318" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "사진3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.44127", - "updatedAt" : "2024-09-12T15:40:12.441272" + "createdAt" : "2024-09-19T19:31:36.546321", + "updatedAt" : "2024-09-19T19:31:36.546322" } ] } @@ -1439,7 +1439,7 @@

Response fields

diff --git a/src/main/resources/static/docs/index.html b/src/main/resources/static/docs/index.html index 0795f1ed..c9c01e8e 100644 --- a/src/main/resources/static/docs/index.html +++ b/src/main/resources/static/docs/index.html @@ -534,6 +534,33 @@

S-TOP Rest Docs

  • 교수/기업 가입 거절 (DELETE /applications/{applicationId})
  • +
  • 프로젝트 API + +
  • +
  • AI HUB API + +
  • +
  • JOB INFO API + +
  • @@ -593,6 +620,10 @@

    커스텀 예외 코드

    유효하지 않은 Access Token 입니다.

    +

    13000

    +

    Notion 데이터를 가져오는데 실패했습니다.

    + +

    4000

    유저 id 를 찾을 수 없습니다.

    @@ -625,6 +656,50 @@

    커스텀 예외 코드

    이미 인증 된 회원입니다.

    +

    77000

    +

    프로젝트를 찾을 수 없습니다.

    + + +

    77001

    +

    프로젝트 썸네일을 찾을 수 없습니다

    + + +

    77002

    +

    프로젝트 포스터를 찾을 수 없습니다

    + + +

    77003

    +

    멤버 정보가 올바르지 않습니다.

    + + +

    77004

    +

    기술 스택 정보가 올바르지 않습니다.

    + + +

    77005

    +

    관심 표시한 프로젝트가 이미 존재합니다

    + + +

    77007

    +

    관심 표시한 프로젝트를 찾을 수 없습니다.

    + + +

    77008

    +

    이미 좋아요 한 프로젝트입니다.

    + + +

    77009

    +

    좋아요 표시한 프로젝트가 존재하지 않습니다

    + + +

    77010

    +

    댓글을 찾을 수 없습니다

    + + +

    77011

    +

    유저 정보가 일치하지 않습니다

    + +

    5000

    파일 업로드를 실패했습니다.

    @@ -744,8 +819,8 @@

    HTTP response

    Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers -Set-Cookie: refresh-token=refresh_token; Path=/; Max-Age=604800; Expires=Thu, 19 Sep 2024 06:40:08 GMT; Secure; HttpOnly; SameSite=None -Set-Cookie: access-token=access_token; Path=/; Max-Age=604800; Expires=Thu, 19 Sep 2024 06:40:08 GMT; Secure; SameSite=None +Set-Cookie: refresh-token=refresh_token; Path=/; Max-Age=604800; Expires=Thu, 26 Sep 2024 10:31:35 GMT; Secure; HttpOnly; SameSite=None +Set-Cookie: access-token=access_token; Path=/; Max-Age=604800; Expires=Thu, 26 Sep 2024 10:31:35 GMT; Secure; SameSite=None Location: https://localhost:3000/login/kakao @@ -754,14 +829,16 @@

    HTTP response

    Response fields

    ---++++ - + + @@ -769,6 +846,7 @@

    Response fields

    + @@ -1114,22 +1192,22 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 446 +Content-Length: 445 [ { "id" : 1, - "uuid" : "4357c474-b07b-46f2-8c57-af272cdb9d35", + "uuid" : "4482f4a5-07bb-4c5c-abaf-1663d973f50d", "name" : "첨부파일1.png", "mimeType" : "image/png", - "createdAt" : "2024-09-12T15:40:11.841735", - "updatedAt" : "2024-09-12T15:40:11.841745" + "createdAt" : "2024-09-19T19:31:36.37368", + "updatedAt" : "2024-09-19T19:31:36.373685" }, { "id" : 2, - "uuid" : "fdcd2f22-304c-4074-806c-837f5a27daf7", + "uuid" : "0ed8bd29-e482-491f-ab58-46a69f5bfeeb", "name" : "첨부파일2.pdf", "mimeType" : "application/pdf", - "createdAt" : "2024-09-12T15:40:11.841818", - "updatedAt" : "2024-09-12T15:40:11.841821" + "createdAt" : "2024-09-19T19:31:36.373739", + "updatedAt" : "2024-09-19T19:31:36.373742" } ] @@ -1355,8 +1433,8 @@

    HTTP response

    "talkerBelonging" : "대담자의 소속", "talkerName" : "대담자의 성명", "category" : "INTERN", - "createdAt" : "2024-09-12T15:40:14.286978", - "updatedAt" : "2024-09-12T15:40:14.286982" + "createdAt" : "2024-09-19T19:31:37.574066", + "updatedAt" : "2024-09-19T19:31:37.574068" } @@ -1513,6 +1591,8 @@

    HTTP response

    { "totalPages" : 1, "totalElements" : 2, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, @@ -1523,8 +1603,8 @@

    HTTP response

    "talkerName" : "대담자의 성명1", "favorite" : false, "category" : "INTERN", - "createdAt" : "2024-09-12T15:40:14.223441", - "updatedAt" : "2024-09-12T15:40:14.223443" + "createdAt" : "2024-09-19T19:31:37.557453", + "updatedAt" : "2024-09-19T19:31:37.557455" }, { "id" : 2, "title" : "잡페어 인터뷰의 제목2", @@ -1534,30 +1614,28 @@

    HTTP response

    "talkerName" : "대담자의 성명2", "favorite" : true, "category" : "INTERN", - "createdAt" : "2024-09-12T15:40:14.223461", - "updatedAt" : "2024-09-12T15:40:14.223461" + "createdAt" : "2024-09-19T19:31:37.557468", + "updatedAt" : "2024-09-19T19:31:37.557469" } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 2, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 2, - "first" : true, - "last" : true, "empty" : false } @@ -1825,8 +1903,8 @@

    HTTP response

    "talkerName" : "대담자의 성명", "favorite" : false, "category" : "INTERN", - "createdAt" : "2024-09-12T15:40:14.269198", - "updatedAt" : "2024-09-12T15:40:14.269201" + "createdAt" : "2024-09-19T19:31:37.567706", + "updatedAt" : "2024-09-19T19:31:37.567707" } @@ -2040,7 +2118,7 @@

    HTTP response

    "talkerName" : "수정된 대담자 성명", "category" : "INTERN", "createdAt" : "2021-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:14.144689" + "updatedAt" : "2024-09-19T19:31:37.540684" } @@ -2433,8 +2511,8 @@

    HTTP response

    "options" : [ "선지1", "선지2" ] } }, - "createdAt" : "2024-09-12T15:40:15.222717", - "updatedAt" : "2024-09-12T15:40:15.222719" + "createdAt" : "2024-09-19T19:31:37.924986", + "updatedAt" : "2024-09-19T19:31:37.924988" } @@ -2605,11 +2683,13 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 1043 +Content-Length: 1042 { "totalPages" : 1, "totalElements" : 1, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, @@ -2631,30 +2711,28 @@

    HTTP response

    "options" : [ "선지1", "선지2" ] } }, - "createdAt" : "2024-09-12T15:40:15.245016", - "updatedAt" : "2024-09-12T15:40:15.245019" + "createdAt" : "2024-09-19T19:31:37.933059", + "updatedAt" : "2024-09-19T19:31:37.93306" } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 1, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 1, - "first" : true, - "last" : true, "empty" : false } @@ -2935,7 +3013,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 523 +Content-Length: 524 { "id" : 1, @@ -2957,8 +3035,8 @@

    HTTP response

    "options" : [ "선지1", "선지2" ] } }, - "createdAt" : "2024-09-12T15:40:15.199017", - "updatedAt" : "2024-09-12T15:40:15.19902" + "createdAt" : "2024-09-19T19:31:37.917905", + "updatedAt" : "2024-09-19T19:31:37.917907" } @@ -3241,8 +3319,8 @@

    HTTP response

    "options" : [ "수정한 선지1", "수정한 선지2" ] } }, - "createdAt" : "2024-09-12T15:40:15.033431", - "updatedAt" : "2024-09-12T15:40:15.033443" + "createdAt" : "2024-09-19T19:31:37.880796", + "updatedAt" : "2024-09-19T19:31:37.880797" } @@ -3917,6 +3995,8 @@

    HTTP response

    { "totalPages" : 1, "totalElements" : 2, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "user_id" : 1, @@ -3934,24 +4014,22 @@

    HTTP response

    "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 2, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 2, - "first" : true, - "last" : true, "empty" : false } @@ -4222,29 +4300,29 @@

    HTTP response

    "content" : "공지 사항 내용", "hitCount" : 0, "fixed" : true, - "createdAt" : "2024-09-12T15:40:13.297872", - "updatedAt" : "2024-09-12T15:40:13.297873", + "createdAt" : "2024-09-19T19:31:36.967502", + "updatedAt" : "2024-09-19T19:31:36.967503", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.297863", - "updatedAt" : "2024-09-12T15:40:13.297867" + "createdAt" : "2024-09-19T19:31:36.967495", + "updatedAt" : "2024-09-19T19:31:36.967497" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.297869", - "updatedAt" : "2024-09-12T15:40:13.29787" + "createdAt" : "2024-09-19T19:31:36.967499", + "updatedAt" : "2024-09-19T19:31:36.967499" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.29787", - "updatedAt" : "2024-09-12T15:40:13.297871" + "createdAt" : "2024-09-19T19:31:36.9675", + "updatedAt" : "2024-09-19T19:31:36.967501" } ] } @@ -4420,43 +4498,43 @@

    HTTP response

    { "totalPages" : 1, "totalElements" : 2, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, "title" : "공지 사항 1", "hitCount" : 10, "fixed" : true, - "createdAt" : "2024-09-12T15:40:13.161607", - "updatedAt" : "2024-09-12T15:40:13.161614" + "createdAt" : "2024-09-19T19:31:36.927332", + "updatedAt" : "2024-09-19T19:31:36.927338" }, { "id" : 2, "title" : "공지 사항 2", "hitCount" : 10, "fixed" : false, - "createdAt" : "2024-09-12T15:40:13.161624", - "updatedAt" : "2024-09-12T15:40:13.161625" + "createdAt" : "2024-09-19T19:31:36.927346", + "updatedAt" : "2024-09-19T19:31:36.927347" } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 2, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 2, - "first" : true, - "last" : true, "empty" : false } @@ -4687,7 +4765,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 949 +Content-Length: 948 { "id" : 1, @@ -4695,29 +4773,29 @@

    HTTP response

    "content" : "content", "hitCount" : 10, "fixed" : true, - "createdAt" : "2024-09-12T15:40:13.268894", - "updatedAt" : "2024-09-12T15:40:13.268899", + "createdAt" : "2024-09-19T19:31:36.958951", + "updatedAt" : "2024-09-19T19:31:36.958956", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.268873", - "updatedAt" : "2024-09-12T15:40:13.268884" + "createdAt" : "2024-09-19T19:31:36.958939", + "updatedAt" : "2024-09-19T19:31:36.958942" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.268888", - "updatedAt" : "2024-09-12T15:40:13.268889" + "createdAt" : "2024-09-19T19:31:36.958945", + "updatedAt" : "2024-09-19T19:31:36.958946" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.268891", - "updatedAt" : "2024-09-12T15:40:13.268892" + "createdAt" : "2024-09-19T19:31:36.958948", + "updatedAt" : "2024-09-19T19:31:36.95895" } ] } @@ -4931,7 +5009,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 954 +Content-Length: 955 { "id" : 1, @@ -4940,28 +5018,28 @@

    HTTP response

    "hitCount" : 10, "fixed" : false, "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:13.19891", + "updatedAt" : "2024-09-19T19:31:36.939745", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:13.198864" + "updatedAt" : "2024-09-19T19:31:36.939709" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:13.198874" + "updatedAt" : "2024-09-19T19:31:36.939715" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:13.198877" + "updatedAt" : "2024-09-19T19:31:36.939718" } ] } @@ -5218,29 +5296,29 @@

    HTTP response

    "content" : "이벤트 공지 사항 내용", "hitCount" : 0, "fixed" : true, - "createdAt" : "2024-09-12T15:40:10.068832", - "updatedAt" : "2024-09-12T15:40:10.068834", + "createdAt" : "2024-09-19T19:31:35.77588", + "updatedAt" : "2024-09-19T19:31:35.775882", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:10.068806", - "updatedAt" : "2024-09-12T15:40:10.068816" + "createdAt" : "2024-09-19T19:31:35.775866", + "updatedAt" : "2024-09-19T19:31:35.775871" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:10.06882", - "updatedAt" : "2024-09-12T15:40:10.068825" + "createdAt" : "2024-09-19T19:31:35.775874", + "updatedAt" : "2024-09-19T19:31:35.775875" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:10.068827", - "updatedAt" : "2024-09-12T15:40:10.068829" + "createdAt" : "2024-09-19T19:31:35.775877", + "updatedAt" : "2024-09-19T19:31:35.775878" } ] } @@ -5411,48 +5489,48 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 874 +Content-Length: 873 { "totalPages" : 1, "totalElements" : 2, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, "title" : "이벤트 공지 사항 1", "hitCount" : 10, "fixed" : true, - "createdAt" : "2024-09-12T15:40:10.122121", - "updatedAt" : "2024-09-12T15:40:10.122129" + "createdAt" : "2024-09-19T19:31:35.78807", + "updatedAt" : "2024-09-19T19:31:35.788077" }, { "id" : 2, "title" : "이벤트 공지 사항 2", "hitCount" : 10, "fixed" : false, - "createdAt" : "2024-09-12T15:40:10.122141", - "updatedAt" : "2024-09-12T15:40:10.122143" + "createdAt" : "2024-09-19T19:31:35.788089", + "updatedAt" : "2024-09-19T19:31:35.788091" } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 2, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 2, - "first" : true, - "last" : true, "empty" : false } @@ -5683,7 +5761,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 958 +Content-Length: 959 { "id" : 1, @@ -5691,29 +5769,29 @@

    HTTP response

    "content" : "content", "hitCount" : 10, "fixed" : true, - "createdAt" : "2024-09-12T15:40:09.982254", - "updatedAt" : "2024-09-12T15:40:09.982261", + "createdAt" : "2024-09-19T19:31:35.755641", + "updatedAt" : "2024-09-19T19:31:35.755643", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:09.982231", - "updatedAt" : "2024-09-12T15:40:09.982241" + "createdAt" : "2024-09-19T19:31:35.755623", + "updatedAt" : "2024-09-19T19:31:35.755629" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:09.982245", - "updatedAt" : "2024-09-12T15:40:09.982247" + "createdAt" : "2024-09-19T19:31:35.755634", + "updatedAt" : "2024-09-19T19:31:35.755636" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:09.98225", - "updatedAt" : "2024-09-12T15:40:09.982252" + "createdAt" : "2024-09-19T19:31:35.755638", + "updatedAt" : "2024-09-19T19:31:35.755639" } ] } @@ -5927,7 +6005,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 973 +Content-Length: 975 { "id" : 1, @@ -5936,28 +6014,28 @@

    HTTP response

    "hitCount" : 10, "fixed" : false, "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:09.86707", + "updatedAt" : "2024-09-19T19:31:35.733932", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:09.867015" + "updatedAt" : "2024-09-19T19:31:35.733892" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:09.86703" + "updatedAt" : "2024-09-19T19:31:35.733903" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:09.867035" + "updatedAt" : "2024-09-19T19:31:35.733907" } ] } @@ -6145,8 +6223,8 @@

    HTTP request

    Cookie: refresh-token=refresh_token { - "start" : "2024-09-12T15:40:10.900738", - "end" : "2024-09-22T15:40:10.900746" + "start" : "2024-09-19T19:31:35.989802", + "end" : "2024-09-29T19:31:35.989807" } @@ -6198,10 +6276,10 @@

    HTTP response

    { "id" : 1, "year" : 2024, - "start" : "2024-09-12T15:40:10.900751", - "end" : "2024-09-22T15:40:10.900753", - "createdAt" : "2024-09-12T15:40:10.900755", - "updatedAt" : "2024-09-12T15:40:10.900757" + "start" : "2024-09-19T19:31:35.989811", + "end" : "2024-09-29T19:31:35.989812", + "createdAt" : "2024-09-19T19:31:35.989814", + "updatedAt" : "2024-09-19T19:31:35.989815" } @@ -6290,15 +6368,15 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 205 +Content-Length: 204 { "id" : 1, "year" : 2024, - "start" : "2024-09-12T15:40:10.879338", - "end" : "2024-09-22T15:40:10.879341", - "createdAt" : "2024-09-12T15:40:10.879345", - "updatedAt" : "2024-09-12T15:40:10.879347" + "start" : "2024-09-19T19:31:35.982073", + "end" : "2024-09-29T19:31:35.982075", + "createdAt" : "2024-09-19T19:31:35.982078", + "updatedAt" : "2024-09-19T19:31:35.98208" } @@ -6387,22 +6465,22 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 414 +Content-Length: 415 [ { "id" : 1, "year" : 2024, - "start" : "2024-09-12T15:40:10.930296", - "end" : "2024-09-22T15:40:10.930303", - "createdAt" : "2024-09-12T15:40:10.93031", - "updatedAt" : "2024-09-12T15:40:10.930313" + "start" : "2024-09-19T19:31:35.998529", + "end" : "2024-09-29T19:31:35.998533", + "createdAt" : "2024-09-19T19:31:35.998536", + "updatedAt" : "2024-09-19T19:31:35.998538" }, { "id" : 2, "year" : 2025, - "start" : "2024-09-12T15:40:10.930315", - "end" : "2024-09-22T15:40:10.930318", - "createdAt" : "2024-09-12T15:40:10.93032", - "updatedAt" : "2024-09-12T15:40:10.930322" + "start" : "2024-09-19T19:31:35.99854", + "end" : "2024-09-29T19:31:35.998542", + "createdAt" : "2024-09-19T19:31:35.998544", + "updatedAt" : "2024-09-19T19:31:35.998546" } ] @@ -6483,8 +6561,8 @@

    HTTP request

    Cookie: refresh-token=refresh_token { - "start" : "2024-09-12T15:40:10.795299", - "end" : "2024-09-22T15:40:10.795307" + "start" : "2024-09-19T19:31:35.966375", + "end" : "2024-09-29T19:31:35.966379" } @@ -6536,10 +6614,10 @@

    HTTP response

    { "id" : 1, "year" : 2024, - "start" : "2024-09-12T15:40:10.795354", - "end" : "2024-09-22T15:40:10.795356", - "createdAt" : "2024-09-12T15:40:10.795359", - "updatedAt" : "2024-09-12T15:40:10.795361" + "start" : "2024-09-19T19:31:35.966409", + "end" : "2024-09-29T19:31:35.966411", + "createdAt" : "2024-09-19T19:31:35.966413", + "updatedAt" : "2024-09-19T19:31:35.966414" } @@ -6688,7 +6766,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 890 +Content-Length: 889 { "id" : 1, @@ -6696,29 +6774,29 @@

    HTTP response

    "year" : 2024, "month" : 4, "hitCount" : 1, - "createdAt" : "2024-09-12T15:40:12.73792", - "updatedAt" : "2024-09-12T15:40:12.737922", + "createdAt" : "2024-09-19T19:31:36.59199", + "updatedAt" : "2024-09-19T19:31:36.591991", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "사진1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.737866", - "updatedAt" : "2024-09-12T15:40:12.737906" + "createdAt" : "2024-09-19T19:31:36.59197", + "updatedAt" : "2024-09-19T19:31:36.591975" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "사진2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.737911", - "updatedAt" : "2024-09-12T15:40:12.737914" + "createdAt" : "2024-09-19T19:31:36.591978", + "updatedAt" : "2024-09-19T19:31:36.591979" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "사진3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.737916", - "updatedAt" : "2024-09-12T15:40:12.737917" + "createdAt" : "2024-09-19T19:31:36.591985", + "updatedAt" : "2024-09-19T19:31:36.591987" } ] } @@ -6894,11 +6972,13 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 1234 +Content-Length: 1235 { "totalPages" : 1, "totalElements" : 1, + "first" : true, + "last" : true, "size" : 1, "content" : [ { "id" : 1, @@ -6906,41 +6986,39 @@

    HTTP response

    "year" : 2024, "month" : 4, "hitCount" : 0, - "createdAt" : "2024-09-12T15:40:12.618942", - "updatedAt" : "2024-09-12T15:40:12.618945", + "createdAt" : "2024-09-19T19:31:36.570363", + "updatedAt" : "2024-09-19T19:31:36.570365", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "사진1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.618911", - "updatedAt" : "2024-09-12T15:40:12.61892" + "createdAt" : "2024-09-19T19:31:36.570345", + "updatedAt" : "2024-09-19T19:31:36.570349" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "사진2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.618924", - "updatedAt" : "2024-09-12T15:40:12.618931" + "createdAt" : "2024-09-19T19:31:36.570354", + "updatedAt" : "2024-09-19T19:31:36.570356" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "사진3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.618934", - "updatedAt" : "2024-09-12T15:40:12.618936" + "createdAt" : "2024-09-19T19:31:36.570357", + "updatedAt" : "2024-09-19T19:31:36.570359" } ] } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, - "pageable" : "INSTANCE", "numberOfElements" : 1, - "first" : true, - "last" : true, + "pageable" : "INSTANCE", "empty" : false } @@ -7171,7 +7249,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 890 +Content-Length: 891 { "id" : 1, @@ -7179,29 +7257,29 @@

    HTTP response

    "year" : 2024, "month" : 4, "hitCount" : 1, - "createdAt" : "2024-09-12T15:40:12.703753", - "updatedAt" : "2024-09-12T15:40:12.703755", + "createdAt" : "2024-09-19T19:31:36.583527", + "updatedAt" : "2024-09-19T19:31:36.583528", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "사진1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.703734", - "updatedAt" : "2024-09-12T15:40:12.703742" + "createdAt" : "2024-09-19T19:31:36.583515", + "updatedAt" : "2024-09-19T19:31:36.583518" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "사진2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.703746", - "updatedAt" : "2024-09-12T15:40:12.703748" + "createdAt" : "2024-09-19T19:31:36.583521", + "updatedAt" : "2024-09-19T19:31:36.583522" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "사진3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.70375", - "updatedAt" : "2024-09-12T15:40:12.703751" + "createdAt" : "2024-09-19T19:31:36.583524", + "updatedAt" : "2024-09-19T19:31:36.583525" } ] } @@ -7455,7 +7533,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 886 +Content-Length: 888 { "id" : 1, @@ -7463,29 +7541,29 @@

    HTTP response

    "year" : 2024, "month" : 5, "hitCount" : 1, - "createdAt" : "2024-09-12T15:40:12.441337", - "updatedAt" : "2024-09-12T15:40:12.44134", + "createdAt" : "2024-09-19T19:31:36.546372", + "updatedAt" : "2024-09-19T19:31:36.546374", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "사진1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.441249", - "updatedAt" : "2024-09-12T15:40:12.441257" + "createdAt" : "2024-09-19T19:31:36.546306", + "updatedAt" : "2024-09-19T19:31:36.546312" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "사진2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.441265", - "updatedAt" : "2024-09-12T15:40:12.441267" + "createdAt" : "2024-09-19T19:31:36.546317", + "updatedAt" : "2024-09-19T19:31:36.546318" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "사진3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:12.44127", - "updatedAt" : "2024-09-12T15:40:12.441272" + "createdAt" : "2024-09-19T19:31:36.546321", + "updatedAt" : "2024-09-19T19:31:36.546322" } ] } @@ -7663,6 +7741,8 @@

    HTTP response

    { "totalPages" : 1, "totalElements" : 3, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, @@ -7670,46 +7750,44 @@

    HTTP response

    "division" : "배민", "position" : null, "userType" : "INACTIVE_COMPANY", - "createdAt" : "2024-09-12T15:40:13.640315", - "updatedAt" : "2024-09-12T15:40:13.640318" + "createdAt" : "2024-09-19T19:31:37.360136", + "updatedAt" : "2024-09-19T19:31:37.360138" }, { "id" : 2, "name" : "김교수", "division" : "솦융대", "position" : "교수", "userType" : "INACTIVE_PROFESSOR", - "createdAt" : "2024-09-12T15:40:13.640334", - "updatedAt" : "2024-09-12T15:40:13.640335" + "createdAt" : "2024-09-19T19:31:37.360152", + "updatedAt" : "2024-09-19T19:31:37.360153" }, { "id" : 3, "name" : "박교수", "division" : "정통대", "position" : "교수", "userType" : "INACTIVE_PROFESSOR", - "createdAt" : "2024-09-12T15:40:13.640338", - "updatedAt" : "2024-09-12T15:40:13.640341" + "createdAt" : "2024-09-19T19:31:37.360155", + "updatedAt" : "2024-09-19T19:31:37.360156" } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 3, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 3, - "first" : true, - "last" : true, "empty" : false } @@ -7957,8 +8035,8 @@

    HTTP response

    "division" : "배민", "position" : "CEO", "userType" : "INACTIVE_COMPANY", - "createdAt" : "2024-09-12T15:40:13.738394", - "updatedAt" : "2024-09-12T15:40:13.738396" + "createdAt" : "2024-09-19T19:31:37.383434", + "updatedAt" : "2024-09-19T19:31:37.383435" } @@ -8097,8 +8175,8 @@

    HTTP response

    "division" : "배민", "position" : "CEO", "userType" : "COMPANY", - "createdAt" : "2024-09-12T15:40:13.718577", - "updatedAt" : "2024-09-12T15:40:13.718581" + "createdAt" : "2024-09-19T19:31:37.377496", + "updatedAt" : "2024-09-19T19:31:37.377497" } @@ -8234,11 +8312,3677 @@

    HTTP response

    +
    +

    프로젝트 API

    +
    +
    +
    +

    프로젝트 조회 (GET /projects)

    +
    +

    200 OK

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    GET /projects HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: optional_access_token
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1698
    +
    +{
    +  "totalPages" : 1,
    +  "totalElements" : 2,
    +  "first" : true,
    +  "last" : true,
    +  "size" : 10,
    +  "content" : [ {
    +    "id" : 1,
    +    "thumbnailInfo" : {
    +      "id" : 1,
    +      "uuid" : "썸네일 uuid 1",
    +      "name" : "썸네일 파일 이름 1",
    +      "mimeType" : "썸네일 mime 타입 1"
    +    },
    +    "projectName" : "프로젝트 이름 1",
    +    "teamName" : "팀 이름 1",
    +    "studentNames" : [ "학생 이름 1", "학생 이름 2" ],
    +    "professorNames" : [ "교수 이름 1" ],
    +    "projectType" : "STARTUP",
    +    "projectCategory" : "BIG_DATA_ANALYSIS",
    +    "awardStatus" : "FIRST",
    +    "techStacks" : [ "파이썬", "SQL" ],
    +    "year" : 2023,
    +    "likeCount" : 100,
    +    "like" : false,
    +    "bookMark" : false
    +  }, {
    +    "id" : 2,
    +    "thumbnailInfo" : {
    +      "id" : 2,
    +      "uuid" : "썸네일 uuid 2",
    +      "name" : "썸네일 파일 이름 2",
    +      "mimeType" : "썸네일 mime 타입 2"
    +    },
    +    "projectName" : "프로젝트 이름 2",
    +    "teamName" : "팀 이름 2",
    +    "studentNames" : [ "학생 이름 3", "학생 이름 4" ],
    +    "professorNames" : [ "교수 이름 2" ],
    +    "projectType" : "LAB",
    +    "projectCategory" : "AI_MACHINE_LEARNING",
    +    "awardStatus" : "SECOND",
    +    "techStacks" : [ "파이썬", "OpenCV" ],
    +    "year" : 2023,
    +    "likeCount" : 100,
    +    "like" : false,
    +    "bookMark" : true
    +  } ],
    +  "number" : 0,
    +  "sort" : {
    +    "empty" : true,
    +    "sorted" : false,
    +    "unsorted" : true
    +  },
    +  "numberOfElements" : 2,
    +  "pageable" : {
    +    "pageNumber" : 0,
    +    "pageSize" : 10,
    +    "sort" : {
    +      "empty" : true,
    +      "sorted" : false,
    +      "unsorted" : true
    +    },
    +    "offset" : 0,
    +    "paged" : true,
    +    "unpaged" : false
    +  },
    +  "empty" : false
    +}
    +
    +
    +
    +
    +
    Query parameters
    +
    PathName TypeRequired Description

    accessToken

    String

    true

    access token

    +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterRequiredDescription

    title

    false

    프로젝트 이름

    year

    false

    프로젝트 년도

    category

    false

    프로젝트 카테고리

    type

    false

    프로젝트 타입

    page

    false

    페이지 번호 [default: 0]

    size

    false

    페이지 크기 [default: 10]

    sort

    false

    정렬 기준

    + +
    +
    Response fields
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    content[].id

    Number

    true

    프로젝트 ID

    content[].thumbnailInfo

    Object

    true

    썸네일 정보

    content[].thumbnailInfo.id

    Number

    true

    썸네일 ID

    content[].thumbnailInfo.uuid

    String

    true

    썸네일 UUID

    content[].thumbnailInfo.name

    String

    true

    썸네일 파일 이름

    content[].thumbnailInfo.mimeType

    String

    true

    썸네일 MIME 타입

    content[].projectName

    String

    true

    프로젝트 이름

    content[].teamName

    String

    true

    팀 이름

    content[].studentNames[]

    Array

    true

    학생 이름

    content[].professorNames[]

    Array

    true

    교수 이름

    content[].projectType

    String

    true

    프로젝트 타입: RESEARCH_AND_BUSINESS_FOUNDATION, LAB, STARTUP, CLUB

    content[].projectCategory

    String

    true

    프로젝트 카테고리: COMPUTER_VISION, SYSTEM_NETWORK, WEB_APPLICATION, SECURITY_SOFTWARE_ENGINEERING, NATURAL_LANGUAGE_PROCESSING, BIG_DATA_ANALYSIS, AI_MACHINE_LEARNING, INTERACTION_AUGMENTED_REALITY

    content[].awardStatus

    String

    true

    수상 여부: NONE, FIRST, SECOND, THIRD, FOURTH, FIFTH

    content[].techStacks

    Array

    true

    기술 스택

    content[].year

    Number

    true

    프로젝트 년도

    content[].likeCount

    Number

    true

    좋아요 수

    content[].like

    Boolean

    true

    좋아요 여부

    content[].bookMark

    Boolean

    true

    북마크 여부

    pageable

    Object

    true

    페이지 정보

    pageable.pageNumber

    Number

    true

    현재 페이지 번호

    pageable.pageSize

    Number

    true

    페이지 당 요소 수

    pageable.sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    pageable.sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    pageable.sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    pageable.offset

    Number

    true

    오프셋

    pageable.paged

    Boolean

    true

    페이징된 여부

    pageable.unpaged

    Boolean

    true

    페이징되지 않은 여부

    totalElements

    Number

    true

    전체 요소 수

    totalPages

    Number

    true

    전체 페이지 수

    size

    Number

    true

    페이지 당 요소 수

    number

    Number

    true

    현재 페이지 번호

    numberOfElements

    Number

    true

    현재 페이지 요소 수

    first

    Boolean

    true

    첫 페이지 여부

    last

    Boolean

    true

    마지막 페이지 여부

    sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    empty

    Boolean

    true

    비어있는 페이지 여부

    +
    + + + + +
    +

    프로젝트 생성 (POST /projects)

    +
    +

    201 Created

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    POST /projects HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: admin_access_token
    +Content-Length: 498
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +{
    +  "thumbnailId" : 1,
    +  "posterId" : 2,
    +  "projectName" : "프로젝트 이름",
    +  "projectType" : "STARTUP",
    +  "projectCategory" : "BIG_DATA_ANALYSIS",
    +  "teamName" : "팀 이름",
    +  "youtubeId" : "유튜브 ID",
    +  "techStack" : "파이썬, SQL",
    +  "year" : 2021,
    +  "awardStatus" : "NONE",
    +  "members" : [ {
    +    "name" : "학생 이름 1",
    +    "role" : "STUDENT"
    +  }, {
    +    "name" : "학생 이름 2",
    +    "role" : "STUDENT"
    +  }, {
    +    "name" : "교수 이름 1",
    +    "role" : "PROFESSOR"
    +  } ]
    +}
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 201 Created
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1449
    +
    +{
    +  "id" : 1,
    +  "thumbnailInfo" : {
    +    "id" : 2,
    +    "uuid" : "썸네일 uuid",
    +    "name" : "썸네일 파일 이름",
    +    "mimeType" : "썸네일 mime 타입"
    +  },
    +  "posterInfo" : {
    +    "id" : 2,
    +    "uuid" : "포스터 uuid",
    +    "name" : "포트서 파일 이름",
    +    "mimeType" : "포스터 mime 타입"
    +  },
    +  "projectName" : "프로젝트 이름",
    +  "projectType" : "STARTUP",
    +  "projectCategory" : "BIG_DATA_ANALYSIS",
    +  "teamName" : "팀 이름",
    +  "youtubeId" : "유튜브 ID",
    +  "techStack" : [ "파이썬", "SQL" ],
    +  "year" : 2024,
    +  "awardStatus" : "FIRST",
    +  "studentNames" : [ "학생 이름 1", "학생 이름 2" ],
    +  "professorNames" : [ "교수 이름 1" ],
    +  "likeCount" : 0,
    +  "like" : false,
    +  "bookMark" : false,
    +  "comments" : [ {
    +    "id" : 1,
    +    "projectId" : 1,
    +    "userName" : "유저 이름",
    +    "isAnonymous" : true,
    +    "content" : "댓글 내용",
    +    "createdAt" : "2024-09-19T19:31:37.231425",
    +    "updatedAt" : "2024-09-19T19:31:37.231426"
    +  }, {
    +    "id" : 2,
    +    "projectId" : 1,
    +    "userName" : "유저 이름",
    +    "isAnonymous" : false,
    +    "content" : "댓글 내용",
    +    "createdAt" : "2024-09-19T19:31:37.231428",
    +    "updatedAt" : "2024-09-19T19:31:37.23143"
    +  }, {
    +    "id" : 3,
    +    "projectId" : 1,
    +    "userName" : "유저 이름",
    +    "isAnonymous" : false,
    +    "content" : "댓글 내용",
    +    "createdAt" : "2024-09-19T19:31:37.231433",
    +    "updatedAt" : "2024-09-19T19:31:37.231434"
    +  } ]
    +}
    +
    +
    +
    +
    +
    Request fields
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    thumbnailId

    Number

    true

    썸네일 ID

    posterId

    Number

    true

    포스터 ID

    projectName

    String

    true

    프로젝트 이름

    projectType

    String

    true

    프로젝트 타입: RESEARCH_AND_BUSINESS_FOUNDATION, LAB, STARTUP, CLUB

    projectCategory

    String

    true

    프로젝트 카테고리: COMPUTER_VISION, SYSTEM_NETWORK, WEB_APPLICATION, SECURITY_SOFTWARE_ENGINEERING, NATURAL_LANGUAGE_PROCESSING, BIG_DATA_ANALYSIS, AI_MACHINE_LEARNING, INTERACTION_AUGMENTED_REALITY

    teamName

    String

    true

    팀 이름

    youtubeId

    String

    true

    프로젝트 youtubeId

    techStack

    String

    true

    기술 스택

    year

    Number

    true

    프로젝트 년도

    awardStatus

    String

    true

    수상 여부: NONE, FIRST, SECOND, THIRD, FOURTH, FIFTH

    members

    Array

    true

    멤버

    members[].name

    String

    true

    멤버 이름

    members[].role

    String

    true

    멤버 역할: STUDENT, PROFESSOR

    +
    +
    +
    Response fields
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    id

    Number

    true

    프로젝트 ID

    thumbnailInfo

    Object

    true

    썸네일 정보

    thumbnailInfo.id

    Number

    true

    썸네일 ID

    thumbnailInfo.uuid

    String

    true

    썸네일 UUID

    thumbnailInfo.name

    String

    true

    썸네일 파일 이름

    thumbnailInfo.mimeType

    String

    true

    썸네일 MIME 타입

    posterInfo

    Object

    true

    포스터 정보

    posterInfo.id

    Number

    true

    포스터 ID

    posterInfo.uuid

    String

    true

    포스터 UUID

    posterInfo.name

    String

    true

    포스터 파일 이름

    posterInfo.mimeType

    String

    true

    포스터 MIME 타입

    projectName

    String

    true

    프로젝트 이름

    projectType

    String

    true

    프로젝트 타입: RESEARCH_AND_BUSINESS_FOUNDATION, LAB, STARTUP, CLUB

    projectCategory

    String

    true

    프로젝트 카테고리: COMPUTER_VISION, SYSTEM_NETWORK, WEB_APPLICATION, SECURITY_SOFTWARE_ENGINEERING, NATURAL_LANGUAGE_PROCESSING, BIG_DATA_ANALYSIS, AI_MACHINE_LEARNING, INTERACTION_AUGMENTED_REALITY

    teamName

    String

    true

    팀 이름

    youtubeId

    String

    true

    프로젝트 youtubeId

    techStack

    Array

    true

    기술 스택

    year

    Number

    true

    프로젝트 년도

    awardStatus

    String

    true

    수상 여부: NONE, FIRST, SECOND, THIRD, FOURTH, FIFTH

    studentNames

    Array

    true

    학생 이름

    professorNames

    Array

    true

    교수 이름

    likeCount

    Number

    true

    좋아요 수

    like

    Boolean

    true

    좋아요 여부

    bookMark

    Boolean

    true

    북마크 여부

    comments

    Array

    true

    댓글

    comments[].id

    Number

    true

    댓글 ID

    comments[].projectId

    Number

    true

    유저 ID

    comments[].userName

    String

    true

    유저 이름

    comments[].isAnonymous

    Boolean

    true

    익명 여부

    comments[].content

    String

    true

    댓글 내용

    comments[].createdAt

    String

    true

    생성 시간

    comments[].updatedAt

    String

    true

    수정 시간

    +
    +
    +
    +
    +
    +
    +

    프로젝트 조회 (GET /projects/{projectId})

    +
    +

    200 OK

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    GET /projects/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: optional_access_token
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1450
    +
    +{
    +  "id" : 1,
    +  "thumbnailInfo" : {
    +    "id" : 2,
    +    "uuid" : "썸네일 uuid",
    +    "name" : "썸네일 파일 이름",
    +    "mimeType" : "썸네일 mime 타입"
    +  },
    +  "posterInfo" : {
    +    "id" : 2,
    +    "uuid" : "포스터 uuid",
    +    "name" : "포트서 파일 이름",
    +    "mimeType" : "포스터 mime 타입"
    +  },
    +  "projectName" : "프로젝트 이름",
    +  "projectType" : "STARTUP",
    +  "projectCategory" : "BIG_DATA_ANALYSIS",
    +  "teamName" : "팀 이름",
    +  "youtubeId" : "유튜브 ID",
    +  "techStack" : [ "파이썬", "SQL" ],
    +  "year" : 2024,
    +  "awardStatus" : "FIRST",
    +  "studentNames" : [ "학생 이름 1", "학생 이름 2" ],
    +  "professorNames" : [ "교수 이름 1" ],
    +  "likeCount" : 0,
    +  "like" : false,
    +  "bookMark" : false,
    +  "comments" : [ {
    +    "id" : 1,
    +    "projectId" : 1,
    +    "userName" : "유저 이름",
    +    "isAnonymous" : true,
    +    "content" : "댓글 내용",
    +    "createdAt" : "2024-09-19T19:31:37.207102",
    +    "updatedAt" : "2024-09-19T19:31:37.207104"
    +  }, {
    +    "id" : 2,
    +    "projectId" : 1,
    +    "userName" : "유저 이름",
    +    "isAnonymous" : false,
    +    "content" : "댓글 내용",
    +    "createdAt" : "2024-09-19T19:31:37.207105",
    +    "updatedAt" : "2024-09-19T19:31:37.207105"
    +  }, {
    +    "id" : 3,
    +    "projectId" : 1,
    +    "userName" : "유저 이름",
    +    "isAnonymous" : false,
    +    "content" : "댓글 내용",
    +    "createdAt" : "2024-09-19T19:31:37.207106",
    +    "updatedAt" : "2024-09-19T19:31:37.207107"
    +  } ]
    +}
    +
    +
    +
    +
    +
    Path parameters
    + + ++++ + + + + + + + + + + + + +
    Table 1. /projects/{projectId}
    ParameterDescription

    projectId

    프로젝트 ID

    +
    +
    +
    Response fields
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    id

    Number

    true

    프로젝트 ID

    thumbnailInfo

    Object

    true

    썸네일 정보

    thumbnailInfo.id

    Number

    true

    썸네일 ID

    thumbnailInfo.uuid

    String

    true

    썸네일 UUID

    thumbnailInfo.name

    String

    true

    썸네일 파일 이름

    thumbnailInfo.mimeType

    String

    true

    썸네일 MIME 타입

    posterInfo

    Object

    true

    포스터 정보

    posterInfo.id

    Number

    true

    포스터 ID

    posterInfo.uuid

    String

    true

    포스터 UUID

    posterInfo.name

    String

    true

    포스터 파일 이름

    posterInfo.mimeType

    String

    true

    포스터 MIME 타입

    projectName

    String

    true

    프로젝트 이름

    projectType

    String

    true

    프로젝트 타입: RESEARCH_AND_BUSINESS_FOUNDATION, LAB, STARTUP, CLUB

    projectCategory

    String

    true

    프로젝트 카테고리: COMPUTER_VISION, SYSTEM_NETWORK, WEB_APPLICATION, SECURITY_SOFTWARE_ENGINEERING, NATURAL_LANGUAGE_PROCESSING, BIG_DATA_ANALYSIS, AI_MACHINE_LEARNING, INTERACTION_AUGMENTED_REALITY

    teamName

    String

    true

    팀 이름

    youtubeId

    String

    true

    프로젝트 youtubeId

    techStack

    Array

    true

    기술 스택

    year

    Number

    true

    프로젝트 년도

    awardStatus

    String

    true

    수상 여부: NONE, FIRST, SECOND, THIRD, FOURTH, FIFTH

    studentNames

    Array

    true

    학생 이름

    professorNames

    Array

    true

    교수 이름

    likeCount

    Number

    true

    좋아요 수

    like

    Boolean

    true

    좋아요 여부

    bookMark

    Boolean

    true

    북마크 여부

    comments

    Array

    true

    댓글

    comments[].id

    Number

    true

    댓글 ID

    comments[].projectId

    Number

    true

    유저 ID

    comments[].userName

    String

    true

    유저 이름

    comments[].isAnonymous

    Boolean

    true

    익명 여부

    comments[].content

    String

    true

    댓글 내용

    comments[].createdAt

    String

    true

    생성 시간

    comments[].updatedAt

    String

    true

    수정 시간

    +
    +
    +
    +
    +
    +
    +

    프로젝트 수정 (PUT /projects/{projectId})

    +
    +

    200 OK

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    PUT /projects/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: admin_access_token
    +Content-Length: 507
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +{
    +  "thumbnailId" : 3,
    +  "posterId" : 4,
    +  "projectName" : "프로젝트 이름",
    +  "projectType" : "LAB",
    +  "projectCategory" : "COMPUTER_VISION",
    +  "teamName" : "팀 이름",
    +  "youtubeId" : "유튜브 ID",
    +  "techStack" : "파이썬, OpenCV, diffusers",
    +  "year" : 2024,
    +  "awardStatus" : "FIRST",
    +  "members" : [ {
    +    "name" : "학생 이름 3",
    +    "role" : "STUDENT"
    +  }, {
    +    "name" : "학생 이름 4",
    +    "role" : "STUDENT"
    +  }, {
    +    "name" : "교수 이름 2",
    +    "role" : "PROFESSOR"
    +  } ]
    +}
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1461
    +
    +{
    +  "id" : 1,
    +  "thumbnailInfo" : {
    +    "id" : 3,
    +    "uuid" : "썸네일 uuid",
    +    "name" : "썸네일 파일 이름",
    +    "mimeType" : "썸네일 mime 타입"
    +  },
    +  "posterInfo" : {
    +    "id" : 4,
    +    "uuid" : "포스터 uuid",
    +    "name" : "포트서 파일 이름",
    +    "mimeType" : "포스터 mime 타입"
    +  },
    +  "projectName" : "프로젝트 이름",
    +  "projectType" : "LAB",
    +  "projectCategory" : "COMPUTER_VISION",
    +  "teamName" : "팀 이름",
    +  "youtubeId" : "유튜브 ID",
    +  "techStack" : [ "파이썬", "OpenCV", "diffusers" ],
    +  "year" : 2024,
    +  "awardStatus" : "FIRST",
    +  "studentNames" : [ "학생 이름 3", "학생 이름 4" ],
    +  "professorNames" : [ "교수 이름 2" ],
    +  "likeCount" : 100,
    +  "like" : false,
    +  "bookMark" : false,
    +  "comments" : [ {
    +    "id" : 1,
    +    "projectId" : 1,
    +    "userName" : "유저 이름",
    +    "isAnonymous" : true,
    +    "content" : "댓글 내용",
    +    "createdAt" : "2024-09-19T19:31:37.119923",
    +    "updatedAt" : "2024-09-19T19:31:37.119925"
    +  }, {
    +    "id" : 2,
    +    "projectId" : 1,
    +    "userName" : "유저 이름",
    +    "isAnonymous" : false,
    +    "content" : "댓글 내용",
    +    "createdAt" : "2024-09-19T19:31:37.119929",
    +    "updatedAt" : "2024-09-19T19:31:37.11993"
    +  }, {
    +    "id" : 3,
    +    "projectId" : 1,
    +    "userName" : "유저 이름",
    +    "isAnonymous" : false,
    +    "content" : "댓글 내용",
    +    "createdAt" : "2024-09-19T19:31:37.119931",
    +    "updatedAt" : "2024-09-19T19:31:37.119934"
    +  } ]
    +}
    +
    +
    +
    +
    +
    Path parameters
    + + ++++ + + + + + + + + + + + + +
    Table 1. /projects/{projectId}
    ParameterDescription

    projectId

    프로젝트 ID

    +
    +
    +
    Request fields
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    thumbnailId

    Number

    true

    썸네일 ID

    posterId

    Number

    true

    포스터 ID

    projectName

    String

    true

    프로젝트 이름

    projectType

    String

    true

    프로젝트 타입: RESEARCH_AND_BUSINESS_FOUNDATION, LAB, STARTUP, CLUB

    projectCategory

    String

    true

    프로젝트 카테고리: COMPUTER_VISION, SYSTEM_NETWORK, WEB_APPLICATION, SECURITY_SOFTWARE_ENGINEERING, NATURAL_LANGUAGE_PROCESSING, BIG_DATA_ANALYSIS, AI_MACHINE_LEARNING, INTERACTION_AUGMENTED_REALITY

    teamName

    String

    true

    팀 이름

    youtubeId

    String

    true

    프로젝트 youtubeId

    techStack

    String

    true

    기술 스택

    year

    Number

    true

    프로젝트 년도

    awardStatus

    String

    true

    수상 여부: NONE, FIRST, SECOND, THIRD, FOURTH, FIFTH

    members

    Array

    true

    멤버

    members[].name

    String

    true

    멤버 이름

    members[].role

    String

    true

    멤버 역할: STUDENT, PROFESSOR

    +
    +
    +
    Response fields
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    id

    Number

    true

    프로젝트 ID

    thumbnailInfo

    Object

    true

    썸네일 정보

    thumbnailInfo.id

    Number

    true

    썸네일 ID

    thumbnailInfo.uuid

    String

    true

    썸네일 UUID

    thumbnailInfo.name

    String

    true

    썸네일 파일 이름

    thumbnailInfo.mimeType

    String

    true

    썸네일 MIME 타입

    posterInfo

    Object

    true

    포스터 정보

    posterInfo.id

    Number

    true

    포스터 ID

    posterInfo.uuid

    String

    true

    포스터 UUID

    posterInfo.name

    String

    true

    포스터 파일 이름

    posterInfo.mimeType

    String

    true

    포스터 MIME 타입

    projectName

    String

    true

    프로젝트 이름

    projectType

    String

    true

    프로젝트 타입: RESEARCH_AND_BUSINESS_FOUNDATION, LAB, STARTUP, CLUB

    projectCategory

    String

    true

    프로젝트 카테고리: COMPUTER_VISION, SYSTEM_NETWORK, WEB_APPLICATION, SECURITY_SOFTWARE_ENGINEERING, NATURAL_LANGUAGE_PROCESSING, BIG_DATA_ANALYSIS, AI_MACHINE_LEARNING, INTERACTION_AUGMENTED_REALITY

    teamName

    String

    true

    팀 이름

    youtubeId

    String

    true

    프로젝트 youtubeId

    techStack

    Array

    true

    기술 스택

    year

    Number

    true

    프로젝트 년도

    awardStatus

    String

    true

    수상 여부: NONE, FIRST, SECOND, THIRD, FOURTH, FIFTH

    studentNames

    Array

    true

    학생 이름

    professorNames

    Array

    true

    교수 이름

    likeCount

    Number

    true

    좋아요 수

    like

    Boolean

    true

    좋아요 여부

    bookMark

    Boolean

    true

    북마크 여부

    comments

    Array

    true

    댓글

    comments[].id

    Number

    true

    댓글 ID

    comments[].projectId

    Number

    true

    유저 ID

    comments[].userName

    String

    true

    유저 이름

    comments[].isAnonymous

    Boolean

    true

    익명 여부

    comments[].content

    String

    true

    댓글 내용

    comments[].createdAt

    String

    true

    생성 시간

    comments[].updatedAt

    String

    true

    수정 시간

    +
    +
    +
    +
    +
    +
    +

    프로젝트 삭제 (DELETE /projects/{projectId})

    +
    +

    204 No Content

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    DELETE /projects/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: admin_access_token
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 204 No Content
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +
    +
    +
    +
    +
    Path parameters
    + + ++++ + + + + + + + + + + + + +
    Table 1. /projects/{projectId}
    ParameterDescription

    projectId

    프로젝트 ID

    +
    +
    +
    +
    +
    +
    +

    관심 프로젝트 등록 (POST /projects/{projectId}/favorite)

    +
    +

    201 Created

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    POST /projects/1/favorite HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: all_access_token
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 201 Created
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +
    +
    +
    +
    +
    Path parameters
    + + ++++ + + + + + + + + + + + + +
    Table 1. /projects/{projectId}/favorite
    ParameterDescription

    projectId

    프로젝트 ID

    +
    +
    +
    +
    +
    +
    +

    관심 프로젝트 삭제 (DELETE /projects/{projectId}/favorite)

    +
    +

    204 No Content

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    DELETE /projects/1/favorite HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: all_access_token
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 204 No Content
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +
    +
    +
    +
    +
    Path parameters
    + + ++++ + + + + + + + + + + + + +
    Table 1. /projects/{projectId}/favorite
    ParameterDescription

    projectId

    프로젝트 ID

    +
    +
    +
    +
    +
    +
    +

    프로젝트 좋아요 등록 (POST /projects/{projectId}/like)

    +
    +

    201 Created

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    POST /projects/1/like HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: all_access_token
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 201 Created
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +
    +
    +
    +
    +
    Path parameters
    + + ++++ + + + + + + + + + + + + +
    Table 1. /projects/{projectId}/like
    ParameterDescription

    projectId

    프로젝트 ID

    +
    +
    +
    +
    +
    +
    +

    프로젝트 좋아요 삭제 (DELETE /projects/{projectId}/like)

    +
    +

    204 No Content

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    DELETE /projects/1/like HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: all_access_token
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 204 No Content
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +
    +
    +
    +
    +
    Path parameters
    + + ++++ + + + + + + + + + + + + +
    Table 1. /projects/{projectId}/like
    ParameterDescription

    projectId

    프로젝트 ID

    +
    +
    +
    +
    +
    +
    +

    프로젝트 댓글 등록 (POST /projects/{projectId}/comment)

    +
    +

    201 Created

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    POST /projects/1/comment HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: all_access_token
    +Content-Length: 57
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +{
    +  "content" : "댓글 내용",
    +  "isAnonymous" : true
    +}
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 201 Created
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 212
    +
    +{
    +  "id" : 1,
    +  "projectId" : 1,
    +  "userName" : "유저 이름",
    +  "isAnonymous" : true,
    +  "content" : "댓글 내용",
    +  "createdAt" : "2024-09-19T19:31:37.198286",
    +  "updatedAt" : "2024-09-19T19:31:37.198287"
    +}
    +
    +
    +
    +
    +
    Path parameters
    + + ++++ + + + + + + + + + + + + +
    Table 1. /projects/{projectId}/comment
    ParameterDescription

    projectId

    프로젝트 ID

    +
    +
    +
    Request fields
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    content

    String

    true

    댓글 내용

    isAnonymous

    Boolean

    true

    익명 여부

    +
    +
    +
    Response fields
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    id

    Number

    true

    댓글 ID

    projectId

    Number

    true

    프로젝트 ID

    userName

    String

    true

    유저 이름

    isAnonymous

    Boolean

    true

    익명 여부

    content

    String

    true

    댓글 내용

    createdAt

    String

    true

    생성 시간

    updatedAt

    String

    true

    수정 시간

    +
    +
    +
    +
    +
    +
    +

    프로젝트 댓글 삭제 (DELETE /projects/{projectId}/comment)

    +
    +

    204 No Content

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    DELETE /projects/1/comment/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: all_access_token
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 204 No Content
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +
    +
    +
    +
    +
    Path parameters
    + + ++++ + + + + + + + + + + + + + + + + +
    Table 1. /projects/{projectId}/comment/{commentId}
    ParameterDescription

    projectId

    프로젝트 ID

    commentId

    댓글 ID

    +
    +
    +
    +
    +
    +
    +

    수상 프로젝트 조회 (GET /projects/award?year={year})

    +
    +

    200 No Content

    +
    +
    +
    +
    HTTP request
    +
    +
    +
    GET /projects/award?year=2024 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: optional_access_token
    +Host: localhost:8080
    +Cookie: refresh-token=refresh_token
    +
    +
    +
    +
    +
    HTTP response
    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1698
    +
    +{
    +  "totalPages" : 1,
    +  "totalElements" : 2,
    +  "first" : true,
    +  "last" : true,
    +  "size" : 10,
    +  "content" : [ {
    +    "id" : 1,
    +    "thumbnailInfo" : {
    +      "id" : 1,
    +      "uuid" : "썸네일 uuid 1",
    +      "name" : "썸네일 파일 이름 1",
    +      "mimeType" : "썸네일 mime 타입 1"
    +    },
    +    "projectName" : "프로젝트 이름 1",
    +    "teamName" : "팀 이름 1",
    +    "studentNames" : [ "학생 이름 1", "학생 이름 2" ],
    +    "professorNames" : [ "교수 이름 1" ],
    +    "projectType" : "STARTUP",
    +    "projectCategory" : "BIG_DATA_ANALYSIS",
    +    "awardStatus" : "FIRST",
    +    "techStacks" : [ "파이썬", "SQL" ],
    +    "year" : 2023,
    +    "likeCount" : 100,
    +    "like" : false,
    +    "bookMark" : false
    +  }, {
    +    "id" : 2,
    +    "thumbnailInfo" : {
    +      "id" : 2,
    +      "uuid" : "썸네일 uuid 2",
    +      "name" : "썸네일 파일 이름 2",
    +      "mimeType" : "썸네일 mime 타입 2"
    +    },
    +    "projectName" : "프로젝트 이름 2",
    +    "teamName" : "팀 이름 2",
    +    "studentNames" : [ "학생 이름 3", "학생 이름 4" ],
    +    "professorNames" : [ "교수 이름 2" ],
    +    "projectType" : "LAB",
    +    "projectCategory" : "AI_MACHINE_LEARNING",
    +    "awardStatus" : "SECOND",
    +    "techStacks" : [ "파이썬", "OpenCV" ],
    +    "year" : 2023,
    +    "likeCount" : 100,
    +    "like" : false,
    +    "bookMark" : true
    +  } ],
    +  "number" : 0,
    +  "sort" : {
    +    "empty" : true,
    +    "sorted" : false,
    +    "unsorted" : true
    +  },
    +  "numberOfElements" : 2,
    +  "pageable" : {
    +    "pageNumber" : 0,
    +    "pageSize" : 10,
    +    "sort" : {
    +      "empty" : true,
    +      "sorted" : false,
    +      "unsorted" : true
    +    },
    +    "offset" : 0,
    +    "paged" : true,
    +    "unpaged" : false
    +  },
    +  "empty" : false
    +}
    +
    +
    +
    +
    +
    Query parameters
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterRequiredDescription

    year

    true

    프로젝트 년도

    page

    false

    페이지 번호 [default: 0]

    size

    false

    페이지 크기 [default: 10]

    sort

    false

    정렬 기준

    +
    +
    +
    Response fields
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    content[].id

    Number

    true

    프로젝트 ID

    content[].thumbnailInfo

    Object

    true

    썸네일 정보

    content[].thumbnailInfo.id

    Number

    true

    썸네일 ID

    content[].thumbnailInfo.uuid

    String

    true

    썸네일 UUID

    content[].thumbnailInfo.name

    String

    true

    썸네일 파일 이름

    content[].thumbnailInfo.mimeType

    String

    true

    썸네일 MIME 타입

    content[].projectName

    String

    true

    프로젝트 이름

    content[].teamName

    String

    true

    팀 이름

    content[].studentNames[]

    Array

    true

    학생 이름

    content[].professorNames[]

    Array

    true

    교수 이름

    content[].projectType

    String

    true

    프로젝트 타입: RESEARCH_AND_BUSINESS_FOUNDATION, LAB, STARTUP, CLUB

    content[].projectCategory

    String

    true

    프로젝트 카테고리: COMPUTER_VISION, SYSTEM_NETWORK, WEB_APPLICATION, SECURITY_SOFTWARE_ENGINEERING, NATURAL_LANGUAGE_PROCESSING, BIG_DATA_ANALYSIS, AI_MACHINE_LEARNING, INTERACTION_AUGMENTED_REALITY

    content[].awardStatus

    String

    true

    수상 여부: NONE, FIRST, SECOND, THIRD, FOURTH, FIFTH

    content[].techStacks

    Array

    true

    기술 스택

    content[].year

    Number

    true

    프로젝트 년도

    content[].likeCount

    Number

    true

    좋아요 수

    content[].like

    Boolean

    true

    좋아요 여부

    content[].bookMark

    Boolean

    true

    북마크 여부

    pageable

    Object

    true

    페이지 정보

    pageable.pageNumber

    Number

    true

    현재 페이지 번호

    pageable.pageSize

    Number

    true

    페이지 당 요소 수

    pageable.sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    pageable.sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    pageable.sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    pageable.offset

    Number

    true

    오프셋

    pageable.paged

    Boolean

    true

    페이징된 여부

    pageable.unpaged

    Boolean

    true

    페이징되지 않은 여부

    totalElements

    Number

    true

    전체 요소 수

    totalPages

    Number

    true

    전체 페이지 수

    size

    Number

    true

    페이지 당 요소 수

    number

    Number

    true

    현재 페이지 번호

    numberOfElements

    Number

    true

    현재 페이지 요소 수

    first

    Boolean

    true

    첫 페이지 여부

    last

    Boolean

    true

    마지막 페이지 여부

    sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    empty

    Boolean

    true

    비어있는 페이지 여부

    +
    +
    +
    +
    +
    + + +
    +

    AI HUB API

    +
    +
    +
    +

    AI HUB 모델 리스트 조회 (POST /aihub/models)

    +
    +
    +
    +

    Query parameters

    + +++++ + + + + + + + + + + + + + + + + + + + +
    ParameterRequiredDescription

    page

    false

    페이지 번호 [default: 0]

    size

    false

    페이지 크기 [default: 10]

    +
    +
    +

    Request fields

    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    title

    String

    true

    AI 모델 제목

    learningModels

    Array

    true

    학습 모델

    topics

    Array

    true

    주제 분류

    developmentYears

    Array

    true

    개발 년도

    professor

    String

    true

    담당 교수

    participants

    Array

    true

    참여 학생

    +
    +
    +

    HTTP request

    +
    +
    +
    POST /aihub/models HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 199
    +Host: localhost:8080
    +
    +{
    +  "title" : "title",
    +  "learningModels" : [ "학습 모델 1" ],
    +  "topics" : [ "주제 1" ],
    +  "developmentYears" : [ 2024 ],
    +  "professor" : "담당 교수 1",
    +  "participants" : [ "학생 1" ]
    +}
    +
    +
    +
    +
    +

    HTTP response

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1221
    +
    +{
    +  "totalPages" : 1,
    +  "totalElements" : 2,
    +  "first" : true,
    +  "last" : true,
    +  "size" : 10,
    +  "content" : [ {
    +    "title" : "title",
    +    "learningModels" : [ "학습 모델 1" ],
    +    "topics" : [ "주제 1" ],
    +    "developmentYears" : [ 2024 ],
    +    "professor" : "담당 교수 1",
    +    "participants" : [ "학생 1", "학생 2" ],
    +    "object" : "page",
    +    "id" : "노션 object 아이디",
    +    "cover" : "커버 이미지 link",
    +    "url" : "노션 redirect url"
    +  }, {
    +    "title" : "title",
    +    "learningModels" : [ "학습 모델 1" ],
    +    "topics" : [ "주제 1", "주제 2" ],
    +    "developmentYears" : [ 2024 ],
    +    "professor" : "담당 교수 1",
    +    "participants" : [ "학생 1", "학생 2", "학생 3" ],
    +    "object" : "page",
    +    "id" : "노션 object 아이디",
    +    "cover" : "커버 이미지 link",
    +    "url" : "노션 redirect url"
    +  } ],
    +  "number" : 0,
    +  "sort" : {
    +    "empty" : true,
    +    "sorted" : false,
    +    "unsorted" : true
    +  },
    +  "numberOfElements" : 2,
    +  "pageable" : {
    +    "pageNumber" : 0,
    +    "pageSize" : 10,
    +    "sort" : {
    +      "empty" : true,
    +      "sorted" : false,
    +      "unsorted" : true
    +    },
    +    "offset" : 0,
    +    "paged" : true,
    +    "unpaged" : false
    +  },
    +  "empty" : false
    +}
    +
    +
    +
    +
    +

    Response fields

    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    content[].object

    String

    true

    object 종류

    content[].id

    String

    true

    노션 object 아이디

    content[].cover

    String

    true

    커버 이미지 link

    content[].title

    String

    true

    AI 모델 제목

    content[].learningModels

    Array

    true

    학습 모델

    content[].topics

    Array

    true

    주제 분류

    content[].developmentYears

    Array

    true

    개발 년도

    content[].professor

    String

    true

    담당 교수

    content[].participants

    Array

    true

    참여 학생

    content[].url

    String

    true

    노션 redirect url

    pageable

    Object

    true

    페이지 정보

    pageable.pageNumber

    Number

    true

    현재 페이지 번호

    pageable.pageSize

    Number

    true

    페이지 당 요소 수

    pageable.sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    pageable.sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    pageable.sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    pageable.offset

    Number

    true

    오프셋

    pageable.paged

    Boolean

    true

    페이징된 여부

    pageable.unpaged

    Boolean

    true

    페이징되지 않은 여부

    totalElements

    Number

    true

    전체 요소 수

    totalPages

    Number

    true

    전체 페이지 수

    size

    Number

    true

    페이지 당 요소 수

    number

    Number

    true

    현재 페이지 번호

    numberOfElements

    Number

    true

    현재 페이지 요소 수

    first

    Boolean

    true

    첫 페이지 여부

    last

    Boolean

    true

    마지막 페이지 여부

    sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    empty

    Boolean

    true

    비어있는 페이지 여부

    +
    +
    +
    +
    +
    +

    AI HUB 데이터셋 리스트 조회 (POST /aihub/datasets)

    +
    +
    +
    +

    Query parameters

    + +++++ + + + + + + + + + + + + + + + + + + + +
    ParameterRequiredDescription

    page

    false

    페이지 번호 [default: 0]

    size

    false

    페이지 크기 [default: 10]

    +
    +
    +

    Request fields

    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    title

    String

    true

    AI 데이터셋 제목

    dataTypes

    Array

    true

    데이터 유형

    topics

    Array

    true

    주제 분류

    developmentYears

    Array

    true

    구축 년도

    professor

    String

    true

    담당 교수

    participants

    Array

    true

    참여 학생

    +
    +
    +

    HTTP request

    +
    +
    +
    POST /aihub/datasets HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 197
    +Host: localhost:8080
    +
    +{
    +  "title" : "title",
    +  "dataTypes" : [ "주제 1" ],
    +  "topics" : [ "데이터 유형 1" ],
    +  "developmentYears" : [ 2024 ],
    +  "professor" : "담당 교수 1",
    +  "participants" : [ "학생 1" ]
    +}
    +
    +
    +
    +
    +

    HTTP response

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1217
    +
    +{
    +  "totalPages" : 1,
    +  "totalElements" : 2,
    +  "first" : true,
    +  "last" : true,
    +  "size" : 10,
    +  "content" : [ {
    +    "title" : "title",
    +    "dataTypes" : [ "주제 1" ],
    +    "topics" : [ "데이터 유형 1" ],
    +    "developmentYears" : [ 2024 ],
    +    "professor" : "담당 교수 1",
    +    "participants" : [ "학생 1", "학생 2" ],
    +    "object" : "page",
    +    "id" : "노션 object 아이디",
    +    "cover" : "커버 이미지 link",
    +    "url" : "노션 redirect url"
    +  }, {
    +    "title" : "title",
    +    "dataTypes" : [ "주제 1", "주제 2" ],
    +    "topics" : [ "데이터 유형 1" ],
    +    "developmentYears" : [ 2024 ],
    +    "professor" : "담당 교수 1",
    +    "participants" : [ "학생 1", "학생 2", "학생 3" ],
    +    "object" : "page",
    +    "id" : "노션 object 아이디",
    +    "cover" : "커버 이미지 link",
    +    "url" : "노션 redirect url"
    +  } ],
    +  "number" : 0,
    +  "sort" : {
    +    "empty" : true,
    +    "sorted" : false,
    +    "unsorted" : true
    +  },
    +  "numberOfElements" : 2,
    +  "pageable" : {
    +    "pageNumber" : 0,
    +    "pageSize" : 10,
    +    "sort" : {
    +      "empty" : true,
    +      "sorted" : false,
    +      "unsorted" : true
    +    },
    +    "offset" : 0,
    +    "paged" : true,
    +    "unpaged" : false
    +  },
    +  "empty" : false
    +}
    +
    +
    +
    +
    +

    Response fields

    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    content[].object

    String

    true

    object 종류

    content[].id

    String

    true

    노션 object 아이디

    content[].cover

    String

    true

    커버 이미지 link

    content[].title

    String

    true

    AI 데이터셋 제목

    content[].topics

    Array

    true

    주제 분류

    content[].dataTypes

    Array

    true

    데이터 유형

    content[].developmentYears

    Array

    true

    구축 년도

    content[].professor

    String

    true

    담당 교수

    content[].participants

    Array

    true

    참여 학생

    content[].url

    String

    true

    노션 redirect url

    pageable

    Object

    true

    페이지 정보

    pageable.pageNumber

    Number

    true

    현재 페이지 번호

    pageable.pageSize

    Number

    true

    페이지 당 요소 수

    pageable.sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    pageable.sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    pageable.sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    pageable.offset

    Number

    true

    오프셋

    pageable.paged

    Boolean

    true

    페이징된 여부

    pageable.unpaged

    Boolean

    true

    페이징되지 않은 여부

    totalElements

    Number

    true

    전체 요소 수

    totalPages

    Number

    true

    전체 페이지 수

    size

    Number

    true

    페이지 당 요소 수

    number

    Number

    true

    현재 페이지 번호

    numberOfElements

    Number

    true

    현재 페이지 요소 수

    first

    Boolean

    true

    첫 페이지 여부

    last

    Boolean

    true

    마지막 페이지 여부

    sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    empty

    Boolean

    true

    비어있는 페이지 여부

    +
    +
    +
    +
    +
    +
    +
    +

    JOB INFO API

    +
    +
    +
    +

    JOB INFO 리스트 조회 (POST /jobInfos)

    +
    +
    +
    +

    Query parameters

    + +++++ + + + + + + + + + + + + + + + + + + + +
    ParameterRequiredDescription

    page

    false

    페이지 번호 [default: 0]

    size

    false

    페이지 크기 [default: 10]

    +
    +
    +

    Request fields

    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    company

    String

    true

    기업명

    jobTypes

    Array

    true

    고용 형태

    region

    String

    true

    근무 지역

    position

    String

    true

    채용 포지션

    hiringTime

    String

    true

    채용 시점

    state

    Array

    true

    채용 상태

    +
    +
    +

    HTTP request

    +
    +
    +
    POST /jobInfos HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 198
    +Host: localhost:8080
    +
    +{
    +  "company" : "기업명 1",
    +  "jobTypes" : [ "고용 형태 1" ],
    +  "region" : "근무 지역 1",
    +  "position" : "채용 포지션 1",
    +  "hiringTime" : "채용 시점 1",
    +  "state" : [ "open" ]
    +}
    +
    +
    +
    +
    +

    HTTP response

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1295
    +
    +{
    +  "totalPages" : 1,
    +  "totalElements" : 2,
    +  "first" : true,
    +  "last" : true,
    +  "size" : 10,
    +  "content" : [ {
    +    "company" : "기업명 1",
    +    "jobTypes" : [ "고용 형태 1" ],
    +    "region" : "근무 지역 1",
    +    "position" : "채용 포지션 1",
    +    "logo" : "로고 url",
    +    "salary" : "연봉",
    +    "website" : "웹사이트 url",
    +    "state" : [ "open" ],
    +    "hiringTime" : "채용 시점 1",
    +    "object" : "page",
    +    "id" : "노션 object 아이디 1",
    +    "url" : "redirect url"
    +  }, {
    +    "company" : "기업명 1",
    +    "jobTypes" : [ "고용 형태 1", "고용 형태 2" ],
    +    "region" : "근무 지역 2",
    +    "position" : "채용 포지션 1, 채용 시점 2",
    +    "logo" : "로고 url",
    +    "salary" : "연봉",
    +    "website" : "웹사이트 url",
    +    "state" : [ "open" ],
    +    "hiringTime" : "채용 시점 1",
    +    "object" : "page",
    +    "id" : "노션 object 아이디 2",
    +    "url" : "redirect url"
    +  } ],
    +  "number" : 0,
    +  "sort" : {
    +    "empty" : true,
    +    "sorted" : false,
    +    "unsorted" : true
    +  },
    +  "numberOfElements" : 2,
    +  "pageable" : {
    +    "pageNumber" : 0,
    +    "pageSize" : 10,
    +    "sort" : {
    +      "empty" : true,
    +      "sorted" : false,
    +      "unsorted" : true
    +    },
    +    "offset" : 0,
    +    "paged" : true,
    +    "unpaged" : false
    +  },
    +  "empty" : false
    +}
    +
    +
    +
    +
    +

    Response fields

    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeRequiredDescription

    content[].object

    String

    true

    object 종류

    content[].id

    String

    true

    노션 object 아이디

    content[].company

    String

    true

    기업명

    content[].jobTypes

    Array

    true

    고용 형태

    content[].region

    String

    true

    근무 지역

    content[].position

    String

    true

    채용 포지션

    content[].logo

    String

    true

    로고 url

    content[].salary

    String

    true

    연봉

    content[].website

    String

    true

    웹사이트 url

    content[].state

    Array

    true

    채용 상태

    content[].hiringTime

    String

    true

    채용 시점

    content[].url

    String

    true

    redirect url

    pageable

    Object

    true

    페이지 정보

    pageable.pageNumber

    Number

    true

    현재 페이지 번호

    pageable.pageSize

    Number

    true

    페이지 당 요소 수

    pageable.sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    pageable.sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    pageable.sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    pageable.offset

    Number

    true

    오프셋

    pageable.paged

    Boolean

    true

    페이징된 여부

    pageable.unpaged

    Boolean

    true

    페이징되지 않은 여부

    totalElements

    Number

    true

    전체 요소 수

    totalPages

    Number

    true

    전체 페이지 수

    size

    Number

    true

    페이지 당 요소 수

    number

    Number

    true

    현재 페이지 번호

    numberOfElements

    Number

    true

    현재 페이지 요소 수

    first

    Boolean

    true

    첫 페이지 여부

    last

    Boolean

    true

    마지막 페이지 여부

    sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    empty

    Boolean

    true

    비어있는 페이지 여부

    +
    +
    +
    +
    +
    +
    diff --git a/src/main/resources/static/docs/inquiry.html b/src/main/resources/static/docs/inquiry.html deleted file mode 100644 index 72f0d9f5..00000000 --- a/src/main/resources/static/docs/inquiry.html +++ /dev/null @@ -1,1666 +0,0 @@ - - - - - - - -프로젝트 문의 사항 API - - - - - -
    -
    -

    프로젝트 문의 사항 API

    -
    -
    -
    -

    프로젝트 문의 사항 생성 (POST /projects/{projectId}/inquiry)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    POST /projects/1/inquiry HTTP/1.1
    -Content-Type: application/json;charset=UTF-8
    -Authorization: access_token
    -Content-Length: 102
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -{
    -  "title" : "프로젝트 문의 사항 제목",
    -  "content" : "프로젝트 문의 사항 내용"
    -}
    -
    -
    -
    -
    -

    Request fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    title

    String

    true

    문의 사항 제목

    content

    String

    true

    문의 사항 내용

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 201 Created
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json;charset=UTF-8
    -Content-Length: 284
    -
    -{
    -  "id" : 1,
    -  "authorName" : "문의 작성자 이름",
    -  "projectId" : 1,
    -  "projectName" : "프로젝트 이름",
    -  "title" : "문의 사항 제목",
    -  "content" : "문의 사항 내용",
    -  "createdAt" : "2024-08-24T19:39:59.841662",
    -  "updatedAt" : "2024-08-24T19:39:59.841664"
    -}
    -
    -
    -
    -
    -

    Response fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    id

    Number

    true

    문의 사항 ID

    authorName

    String

    true

    문의 작성자 이름

    projectId

    Number

    true

    문의 대상 프로젝트 ID

    projectName

    String

    true

    문의 대상 프로젝트 이름

    title

    String

    true

    문의 사항 제목

    content

    String

    true

    문의 사항 내용

    createdAt

    String

    true

    문의 사항 생성 시간

    updatedAt

    String

    true

    문의 사항 수정 시간

    -
    -
    -
    -
    -
    -
    -

    프로젝트 문의 사항 리스트 조회 (GET /inquiries)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    GET /inquiries HTTP/1.1
    -Content-Type: application/json;charset=UTF-8
    -Authorization: access_token
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -
    -
    -
    -

    Query parameters

    - ----- - - - - - - - - - - - - - - - - - - - - - - - - -
    ParameterRequiredDescription

    title

    false

    찾고자 하는 공지 사항 제목

    page

    false

    페이지 번호 [default: 0]

    size

    false

    페이지 크기 [default: 10]

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 200 OK
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json;charset=UTF-8
    -Content-Length: 823
    -
    -{
    -  "totalPages" : 1,
    -  "totalElements" : 2,
    -  "first" : true,
    -  "last" : true,
    -  "size" : 10,
    -  "content" : [ {
    -    "id" : 1,
    -    "authorName" : "프로젝트 문의 사항 제목",
    -    "title" : "프로젝트 문의 사항 내용",
    -    "createdAt" : "2024-08-24T19:39:59.816529"
    -  }, {
    -    "id" : 2,
    -    "authorName" : "프로젝트 문의 사항 제목",
    -    "title" : "프로젝트 문의 사항 내용",
    -    "createdAt" : "2024-08-24T19:39:59.816576"
    -  } ],
    -  "number" : 0,
    -  "sort" : {
    -    "empty" : true,
    -    "sorted" : false,
    -    "unsorted" : true
    -  },
    -  "pageable" : {
    -    "pageNumber" : 0,
    -    "pageSize" : 10,
    -    "sort" : {
    -      "empty" : true,
    -      "sorted" : false,
    -      "unsorted" : true
    -    },
    -    "offset" : 0,
    -    "paged" : true,
    -    "unpaged" : false
    -  },
    -  "numberOfElements" : 2,
    -  "empty" : false
    -}
    -
    -
    -
    -
    -

    Response fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    content[].id

    Number

    true

    문의 사항 ID

    content[].authorName

    String

    true

    문의 작성자 이름

    content[].title

    String

    true

    문의 사항 제목

    content[].createdAt

    String

    true

    문의 사항 생성 시간

    pageable.pageNumber

    Number

    true

    현재 페이지 번호

    pageable.pageSize

    Number

    true

    페이지 당 요소 수

    pageable.sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    pageable.sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    pageable.sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    pageable.offset

    Number

    true

    오프셋

    pageable.paged

    Boolean

    true

    페이징된 여부

    pageable.unpaged

    Boolean

    true

    페이징되지 않은 여부

    totalElements

    Number

    true

    전체 요소 수

    totalPages

    Number

    true

    전체 페이지 수

    size

    Number

    true

    페이지 당 요소 수

    number

    Number

    true

    현재 페이지 번호

    numberOfElements

    Number

    true

    현재 페이지 요소 수

    first

    Boolean

    true

    첫 페이지 여부

    last

    Boolean

    true

    마지막 페이지 여부

    sort.empty

    Boolean

    true

    정렬 정보가 비어있는지 여부

    sort.unsorted

    Boolean

    true

    정렬되지 않은 상태인지 여부

    sort.sorted

    Boolean

    true

    정렬된 상태인지 여부

    empty

    Boolean

    true

    비어있는 페이지 여부

    -
    -
    -
    -
    -
    -
    -

    프로젝트 문의 사항 단건 조회 (GET /inquiries/{inquiryId})

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    GET /inquiries/1 HTTP/1.1
    -Content-Type: application/json;charset=UTF-8
    -Authorization: access_token
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -
    -
    -
    -

    Path parameters

    - - ---- - - - - - - - - - - - - -
    Table 1. /inquiries/{inquiryId}
    ParameterDescription

    inquiryId

    조회할 문의 사항 ID

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 200 OK
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json;charset=UTF-8
    -Content-Length: 284
    -
    -{
    -  "id" : 1,
    -  "authorName" : "문의 작성자 이름",
    -  "projectId" : 1,
    -  "projectName" : "프로젝트 이름",
    -  "title" : "문의 사항 제목",
    -  "content" : "문의 사항 내용",
    -  "createdAt" : "2024-08-24T19:39:59.831956",
    -  "updatedAt" : "2024-08-24T19:39:59.831958"
    -}
    -
    -
    -
    -
    -

    Response fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    id

    Number

    true

    문의 사항 ID

    authorName

    String

    true

    문의 작성자 이름

    projectId

    Number

    true

    문의 대상 프로젝트 ID

    projectName

    String

    true

    문의 대상 프로젝트 이름

    title

    String

    true

    문의 사항 제목

    content

    String

    true

    문의 사항 내용

    createdAt

    String

    true

    문의 사항 생성 시간

    updatedAt

    String

    true

    문의 사항 수정 시간

    -
    -
    -
    -
    -
    -
    -

    프로젝트 문의 사항 수정 (PUT /inquiries/{inquiryId})

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    PUT /inquiries/1 HTTP/1.1
    -Content-Type: application/json;charset=UTF-8
    -Authorization: access_token
    -Content-Length: 122
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -{
    -  "title" : "수정된 프로젝트 문의 사항 제목",
    -  "content" : "수정된 프로젝트 문의 사항 내용"
    -}
    -
    -
    -
    -
    -

    Path parameters

    - - ---- - - - - - - - - - - - - -
    Table 1. /inquiries/{inquiryId}
    ParameterDescription

    inquiryId

    수정할 문의 사항 ID

    -
    -
    -

    Request fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    title

    String

    true

    문의 사항 제목

    content

    String

    true

    문의 사항 내용

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 200 OK
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json;charset=UTF-8
    -Content-Length: 304
    -
    -{
    -  "id" : 1,
    -  "authorName" : "문의 작성자 이름",
    -  "projectId" : 1,
    -  "projectName" : "프로젝트 이름",
    -  "title" : "수정된 문의 사항 제목",
    -  "content" : "수정된 문의 사항 내용",
    -  "createdAt" : "2024-08-24T19:39:59.860844",
    -  "updatedAt" : "2024-08-24T19:39:59.860846"
    -}
    -
    -
    -
    -
    -

    Response fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    id

    Number

    true

    문의 사항 ID

    authorName

    String

    true

    문의 작성자 이름

    projectId

    Number

    true

    문의 대상 프로젝트 ID

    projectName

    String

    true

    문의 대상 프로젝트 이름

    title

    String

    true

    수정된 문의 사항 제목

    content

    String

    true

    수정된 문의 사항 내용

    createdAt

    String

    true

    문의 사항 생성 시간

    updatedAt

    String

    true

    문의 사항 수정 시간

    -
    -
    -
    -
    -
    -
    -

    프로젝트 문의 사항 삭제 (DELETE /inquiries/{inquiryId})

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    DELETE /inquiries/1 HTTP/1.1
    -Content-Type: application/json;charset=UTF-8
    -Authorization: access_token
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -
    -
    -
    -

    Path parameters

    - - ---- - - - - - - - - - - - - -
    Table 1. /inquiries/{inquiryId}
    ParameterDescription

    inquiryId

    삭제할 문의 사항 ID

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 204 No Content
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -
    -
    -
    -
    -
    -
    -
    -
    -

    프로젝트 문의 사항 답변 (POST /inquiries/{inquiryId}/reply)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    POST /inquiries/1/reply HTTP/1.1
    -Content-Type: application/json;charset=UTF-8
    -Authorization: access_token
    -Content-Length: 76
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -{
    -  "title" : "문의 답변 제목",
    -  "content" : "문의 답변 내용"
    -}
    -
    -
    -
    -
    -

    Path parameters

    - - ---- - - - - - - - - - - - - -
    Table 1. /inquiries/{inquiryId}/reply
    ParameterDescription

    inquiryId

    답변할 문의 ID

    -
    -
    -

    Request fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    title

    String

    true

    답변 제목

    content

    String

    true

    답변 내용

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 201 Created
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json;charset=UTF-8
    -Content-Length: 88
    -
    -{
    -  "id" : 1,
    -  "title" : "문의 답변 제목",
    -  "content" : "문의 답변 내용"
    -}
    -
    -
    -
    -
    -

    Response fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    id

    Number

    true

    답변 ID

    title

    String

    true

    답변 제목

    content

    String

    true

    답변 내용

    -
    -
    -
    -
    -
    -
    -

    프로젝트 문의 사항 답변 조회 (GET /inquiries/{inquiryId}/reply)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    GET /inquiries/1/reply HTTP/1.1
    -Content-Type: application/json;charset=UTF-8
    -Authorization: access_token
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -
    -
    -
    -

    Path parameters

    - - ---- - - - - - - - - - - - - -
    Table 1. /inquiries/{inquiryId}/reply
    ParameterDescription

    inquiryId

    조회할 문의 ID

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 200 OK
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json;charset=UTF-8
    -Content-Length: 88
    -
    -{
    -  "id" : 1,
    -  "title" : "문의 답변 제목",
    -  "content" : "문의 답변 내용"
    -}
    -
    -
    -
    -
    -

    Response fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    id

    Number

    true

    답변 ID

    title

    String

    true

    답변 제목

    content

    String

    true

    답변 내용

    -
    -
    -
    -
    -
    -
    -

    프로젝트 문의 사항 답변 수정 (PUT /inquiries/{inquiryId}/reply)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    PUT /inquiries/1/reply HTTP/1.1
    -Content-Type: application/json;charset=UTF-8
    -Authorization: access_token
    -Content-Length: 96
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -{
    -  "title" : "수정된 문의 답변 제목",
    -  "content" : "수정된 문의 답변 내용"
    -}
    -
    -
    -
    -
    -

    Path parameters

    - - ---- - - - - - - - - - - - - -
    Table 1. /inquiries/{inquiryId}/reply
    ParameterDescription

    inquiryId

    수정할 답변 ID

    -
    -
    -

    Request fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    title

    String

    true

    답변 제목

    content

    String

    true

    답변 내용

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 200 OK
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json;charset=UTF-8
    -Content-Length: 108
    -
    -{
    -  "id" : 1,
    -  "title" : "수정된 문의 답변 제목",
    -  "content" : "수정된 문의 답변 내용"
    -}
    -
    -
    -
    -
    -

    Response fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    id

    Number

    true

    답변 ID

    title

    String

    true

    수정된 답변 제목

    content

    String

    true

    수정된 답변 내용

    -
    -
    -
    -
    -
    -
    -

    프로젝트 문의 사항 답변 삭제 (DELETE /inquiries/{inquiryId}/reply)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    DELETE /inquiries/1/reply HTTP/1.1
    -Content-Type: application/json;charset=UTF-8
    -Authorization: access_token
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -
    -
    -
    -

    Path parameters

    - - ---- - - - - - - - - - - - - -
    Table 1. /inquiries/{inquiryId}/reply
    ParameterDescription

    inquiryId

    삭제할 답변 ID

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 204 No Content
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - \ No newline at end of file diff --git a/src/main/resources/static/docs/jobInfo-controller-test.html b/src/main/resources/static/docs/jobInfo-controller-test.html index 9cc49276..c6a4b994 100644 --- a/src/main/resources/static/docs/jobInfo-controller-test.html +++ b/src/main/resources/static/docs/jobInfo-controller-test.html @@ -844,7 +844,7 @@

    Response fields

    diff --git a/src/main/resources/static/docs/jobInterview.html b/src/main/resources/static/docs/jobInterview.html index 8a1e51bf..651bfa8a 100644 --- a/src/main/resources/static/docs/jobInterview.html +++ b/src/main/resources/static/docs/jobInterview.html @@ -546,8 +546,8 @@

    HTTP response

    "talkerBelonging" : "대담자의 소속", "talkerName" : "대담자의 성명", "category" : "INTERN", - "createdAt" : "2024-09-12T15:40:14.286978", - "updatedAt" : "2024-09-12T15:40:14.286982" + "createdAt" : "2024-09-19T19:31:37.574066", + "updatedAt" : "2024-09-19T19:31:37.574068" } @@ -704,6 +704,8 @@

    HTTP response

    { "totalPages" : 1, "totalElements" : 2, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, @@ -714,8 +716,8 @@

    HTTP response

    "talkerName" : "대담자의 성명1", "favorite" : false, "category" : "INTERN", - "createdAt" : "2024-09-12T15:40:14.223441", - "updatedAt" : "2024-09-12T15:40:14.223443" + "createdAt" : "2024-09-19T19:31:37.557453", + "updatedAt" : "2024-09-19T19:31:37.557455" }, { "id" : 2, "title" : "잡페어 인터뷰의 제목2", @@ -725,30 +727,28 @@

    HTTP response

    "talkerName" : "대담자의 성명2", "favorite" : true, "category" : "INTERN", - "createdAt" : "2024-09-12T15:40:14.223461", - "updatedAt" : "2024-09-12T15:40:14.223461" + "createdAt" : "2024-09-19T19:31:37.557468", + "updatedAt" : "2024-09-19T19:31:37.557469" } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 2, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 2, - "first" : true, - "last" : true, "empty" : false } @@ -1016,8 +1016,8 @@

    HTTP response

    "talkerName" : "대담자의 성명", "favorite" : false, "category" : "INTERN", - "createdAt" : "2024-09-12T15:40:14.269198", - "updatedAt" : "2024-09-12T15:40:14.269201" + "createdAt" : "2024-09-19T19:31:37.567706", + "updatedAt" : "2024-09-19T19:31:37.567707" } @@ -1231,7 +1231,7 @@

    HTTP response

    "talkerName" : "수정된 대담자 성명", "category" : "INTERN", "createdAt" : "2021-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:14.144689" + "updatedAt" : "2024-09-19T19:31:37.540684" } @@ -1476,7 +1476,7 @@

    HTTP response

    diff --git a/src/main/resources/static/docs/notice.html b/src/main/resources/static/docs/notice.html index 9a821863..b4239c57 100644 --- a/src/main/resources/static/docs/notice.html +++ b/src/main/resources/static/docs/notice.html @@ -529,29 +529,29 @@

    HTTP response

    "content" : "공지 사항 내용", "hitCount" : 0, "fixed" : true, - "createdAt" : "2024-09-12T15:40:13.297872", - "updatedAt" : "2024-09-12T15:40:13.297873", + "createdAt" : "2024-09-19T19:31:36.967502", + "updatedAt" : "2024-09-19T19:31:36.967503", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.297863", - "updatedAt" : "2024-09-12T15:40:13.297867" + "createdAt" : "2024-09-19T19:31:36.967495", + "updatedAt" : "2024-09-19T19:31:36.967497" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.297869", - "updatedAt" : "2024-09-12T15:40:13.29787" + "createdAt" : "2024-09-19T19:31:36.967499", + "updatedAt" : "2024-09-19T19:31:36.967499" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.29787", - "updatedAt" : "2024-09-12T15:40:13.297871" + "createdAt" : "2024-09-19T19:31:36.9675", + "updatedAt" : "2024-09-19T19:31:36.967501" } ] } @@ -727,43 +727,43 @@

    HTTP response

    { "totalPages" : 1, "totalElements" : 2, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, "title" : "공지 사항 1", "hitCount" : 10, "fixed" : true, - "createdAt" : "2024-09-12T15:40:13.161607", - "updatedAt" : "2024-09-12T15:40:13.161614" + "createdAt" : "2024-09-19T19:31:36.927332", + "updatedAt" : "2024-09-19T19:31:36.927338" }, { "id" : 2, "title" : "공지 사항 2", "hitCount" : 10, "fixed" : false, - "createdAt" : "2024-09-12T15:40:13.161624", - "updatedAt" : "2024-09-12T15:40:13.161625" + "createdAt" : "2024-09-19T19:31:36.927346", + "updatedAt" : "2024-09-19T19:31:36.927347" } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 2, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 2, - "first" : true, - "last" : true, "empty" : false } @@ -994,7 +994,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 949 +Content-Length: 948 { "id" : 1, @@ -1002,29 +1002,29 @@

    HTTP response

    "content" : "content", "hitCount" : 10, "fixed" : true, - "createdAt" : "2024-09-12T15:40:13.268894", - "updatedAt" : "2024-09-12T15:40:13.268899", + "createdAt" : "2024-09-19T19:31:36.958951", + "updatedAt" : "2024-09-19T19:31:36.958956", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.268873", - "updatedAt" : "2024-09-12T15:40:13.268884" + "createdAt" : "2024-09-19T19:31:36.958939", + "updatedAt" : "2024-09-19T19:31:36.958942" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.268888", - "updatedAt" : "2024-09-12T15:40:13.268889" + "createdAt" : "2024-09-19T19:31:36.958945", + "updatedAt" : "2024-09-19T19:31:36.958946" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", - "createdAt" : "2024-09-12T15:40:13.268891", - "updatedAt" : "2024-09-12T15:40:13.268892" + "createdAt" : "2024-09-19T19:31:36.958948", + "updatedAt" : "2024-09-19T19:31:36.95895" } ] } @@ -1238,7 +1238,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 954 +Content-Length: 955 { "id" : 1, @@ -1247,28 +1247,28 @@

    HTTP response

    "hitCount" : 10, "fixed" : false, "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:13.19891", + "updatedAt" : "2024-09-19T19:31:36.939745", "files" : [ { "id" : 1, "uuid" : "014eb8a0-d4a6-11ee-adac-117d766aca1d", "name" : "예시 첨부 파일 1.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:13.198864" + "updatedAt" : "2024-09-19T19:31:36.939709" }, { "id" : 2, "uuid" : "11a480c0-13fa-11ef-9047-570191b390ea", "name" : "예시 첨부 파일 2.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:13.198874" + "updatedAt" : "2024-09-19T19:31:36.939715" }, { "id" : 3, "uuid" : "1883fc70-cfb4-11ee-a387-e754bd392d45", "name" : "예시 첨부 파일 3.jpg", "mimeType" : "image/jpeg", "createdAt" : "2024-01-01T12:00:00", - "updatedAt" : "2024-09-12T15:40:13.198877" + "updatedAt" : "2024-09-19T19:31:36.939718" } ] } @@ -1440,7 +1440,7 @@

    HTTP response

    diff --git a/src/main/resources/static/docs/project.html b/src/main/resources/static/docs/project.html index b0432535..a581427f 100644 --- a/src/main/resources/static/docs/project.html +++ b/src/main/resources/static/docs/project.html @@ -443,6 +443,7 @@

    프로젝트 API

    +

    프로젝트 조회 (GET /projects)

    @@ -470,11 +471,13 @@
    HTTP response
    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 1660 +Content-Length: 1698 { "totalPages" : 1, "totalElements" : 2, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, @@ -492,6 +495,7 @@
    HTTP response
    "projectCategory" : "BIG_DATA_ANALYSIS", "awardStatus" : "FIRST", "techStacks" : [ "파이썬", "SQL" ], + "year" : 2023, "likeCount" : 100, "like" : false, "bookMark" : false @@ -511,6 +515,7 @@
    HTTP response
    "projectCategory" : "AI_MACHINE_LEARNING", "awardStatus" : "SECOND", "techStacks" : [ "파이썬", "OpenCV" ], + "year" : 2023, "likeCount" : 100, "like" : false, "bookMark" : true @@ -534,8 +539,6 @@
    HTTP response
    "paged" : true, "unpaged" : false }, - "first" : true, - "last" : true, "empty" : false }
    @@ -573,6 +576,11 @@
    Query parameters

    프로젝트 카테고리

    +

    type

    +

    false

    +

    프로젝트 타입

    + +

    page

    false

    페이지 번호 [default: 0]

    @@ -693,6 +701,12 @@
    Response fields

    기술 스택

    +

    content[].year

    +

    Number

    +

    true

    +

    프로젝트 년도

    + +

    content[].likeCount

    Number

    true

    @@ -888,7 +902,7 @@
    HTTP response
    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 1450 +Content-Length: 1449 { "id" : 1, @@ -923,24 +937,24 @@
    HTTP response
    "userName" : "유저 이름", "isAnonymous" : true, "content" : "댓글 내용", - "createdAt" : "2024-08-31T13:40:14.491907", - "updatedAt" : "2024-08-31T13:40:14.491912" + "createdAt" : "2024-09-19T19:31:37.231425", + "updatedAt" : "2024-09-19T19:31:37.231426" }, { "id" : 2, "projectId" : 1, "userName" : "유저 이름", "isAnonymous" : false, "content" : "댓글 내용", - "createdAt" : "2024-08-31T13:40:14.491915", - "updatedAt" : "2024-08-31T13:40:14.491917" + "createdAt" : "2024-09-19T19:31:37.231428", + "updatedAt" : "2024-09-19T19:31:37.23143" }, { "id" : 3, "projectId" : 1, "userName" : "유저 이름", "isAnonymous" : false, "content" : "댓글 내용", - "createdAt" : "2024-08-31T13:40:14.491918", - "updatedAt" : "2024-08-31T13:40:14.491919" + "createdAt" : "2024-09-19T19:31:37.231433", + "updatedAt" : "2024-09-19T19:31:37.231434" } ] }
    @@ -1324,24 +1338,24 @@
    HTTP response
    "userName" : "유저 이름", "isAnonymous" : true, "content" : "댓글 내용", - "createdAt" : "2024-08-31T13:40:14.359074", - "updatedAt" : "2024-08-31T13:40:14.359079" + "createdAt" : "2024-09-19T19:31:37.207102", + "updatedAt" : "2024-09-19T19:31:37.207104" }, { "id" : 2, "projectId" : 1, "userName" : "유저 이름", "isAnonymous" : false, "content" : "댓글 내용", - "createdAt" : "2024-08-31T13:40:14.359081", - "updatedAt" : "2024-08-31T13:40:14.359083" + "createdAt" : "2024-09-19T19:31:37.207105", + "updatedAt" : "2024-09-19T19:31:37.207105" }, { "id" : 3, "projectId" : 1, "userName" : "유저 이름", "isAnonymous" : false, "content" : "댓글 내용", - "createdAt" : "2024-08-31T13:40:14.359084", - "updatedAt" : "2024-08-31T13:40:14.359085" + "createdAt" : "2024-09-19T19:31:37.207106", + "updatedAt" : "2024-09-19T19:31:37.207107" } ] }
    @@ -1637,7 +1651,7 @@
    HTTP response
    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 1460 +Content-Length: 1461 { "id" : 1, @@ -1672,24 +1686,24 @@
    HTTP response
    "userName" : "유저 이름", "isAnonymous" : true, "content" : "댓글 내용", - "createdAt" : "2024-08-31T13:40:13.94677", - "updatedAt" : "2024-08-31T13:40:13.946778" + "createdAt" : "2024-09-19T19:31:37.119923", + "updatedAt" : "2024-09-19T19:31:37.119925" }, { "id" : 2, "projectId" : 1, "userName" : "유저 이름", "isAnonymous" : false, "content" : "댓글 내용", - "createdAt" : "2024-08-31T13:40:13.946784", - "updatedAt" : "2024-08-31T13:40:13.94679" + "createdAt" : "2024-09-19T19:31:37.119929", + "updatedAt" : "2024-09-19T19:31:37.11993" }, { "id" : 3, "projectId" : 1, "userName" : "유저 이름", "isAnonymous" : false, "content" : "댓글 내용", - "createdAt" : "2024-08-31T13:40:13.946792", - "updatedAt" : "2024-08-31T13:40:13.946794" + "createdAt" : "2024-09-19T19:31:37.119931", + "updatedAt" : "2024-09-19T19:31:37.119934" } ] }
    @@ -2349,8 +2363,8 @@
    HTTP response
    "userName" : "유저 이름", "isAnonymous" : true, "content" : "댓글 내용", - "createdAt" : "2024-08-31T13:40:14.318178", - "updatedAt" : "2024-08-31T13:40:14.318184" + "createdAt" : "2024-09-19T19:31:37.198286", + "updatedAt" : "2024-09-19T19:31:37.198287" } @@ -2563,11 +2577,13 @@
    HTTP response
    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 1660 +Content-Length: 1698 { "totalPages" : 1, "totalElements" : 2, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, @@ -2585,6 +2601,7 @@
    HTTP response
    "projectCategory" : "BIG_DATA_ANALYSIS", "awardStatus" : "FIRST", "techStacks" : [ "파이썬", "SQL" ], + "year" : 2023, "likeCount" : 100, "like" : false, "bookMark" : false @@ -2604,6 +2621,7 @@
    HTTP response
    "projectCategory" : "AI_MACHINE_LEARNING", "awardStatus" : "SECOND", "techStacks" : [ "파이썬", "OpenCV" ], + "year" : 2023, "likeCount" : 100, "like" : false, "bookMark" : true @@ -2627,8 +2645,6 @@
    HTTP response
    "paged" : true, "unpaged" : false }, - "first" : true, - "last" : true, "empty" : false } @@ -2776,6 +2792,12 @@
    Response fields

    기술 스택

    +

    content[].year

    +

    Number

    +

    true

    +

    프로젝트 년도

    + +

    content[].likeCount

    Number

    true

    @@ -2926,7 +2948,7 @@
    Response fields
    diff --git a/src/main/resources/static/docs/quiz.html b/src/main/resources/static/docs/quiz.html index 6d14a392..2388786f 100644 --- a/src/main/resources/static/docs/quiz.html +++ b/src/main/resources/static/docs/quiz.html @@ -508,6 +508,8 @@

    HTTP response

    { "totalPages" : 1, "totalElements" : 2, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "user_id" : 1, @@ -525,24 +527,22 @@

    HTTP response

    "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 2, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 2, - "first" : true, - "last" : true, "empty" : false } @@ -728,7 +728,7 @@

    Response fields

    diff --git a/src/main/resources/static/docs/talk.html b/src/main/resources/static/docs/talk.html index 43eacab4..21cb9686 100644 --- a/src/main/resources/static/docs/talk.html +++ b/src/main/resources/static/docs/talk.html @@ -592,8 +592,8 @@

    HTTP response

    "options" : [ "선지1", "선지2" ] } }, - "createdAt" : "2024-09-12T15:40:15.222717", - "updatedAt" : "2024-09-12T15:40:15.222719" + "createdAt" : "2024-09-19T19:31:37.924986", + "updatedAt" : "2024-09-19T19:31:37.924988" } @@ -764,11 +764,13 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 1043 +Content-Length: 1042 { "totalPages" : 1, "totalElements" : 1, + "first" : true, + "last" : true, "size" : 10, "content" : [ { "id" : 1, @@ -790,30 +792,28 @@

    HTTP response

    "options" : [ "선지1", "선지2" ] } }, - "createdAt" : "2024-09-12T15:40:15.245016", - "updatedAt" : "2024-09-12T15:40:15.245019" + "createdAt" : "2024-09-19T19:31:37.933059", + "updatedAt" : "2024-09-19T19:31:37.93306" } ], "number" : 0, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, + "numberOfElements" : 1, "pageable" : { "pageNumber" : 0, "pageSize" : 10, "sort" : { "empty" : true, - "unsorted" : true, - "sorted" : false + "sorted" : false, + "unsorted" : true }, "offset" : 0, "paged" : true, "unpaged" : false }, - "numberOfElements" : 1, - "first" : true, - "last" : true, "empty" : false } @@ -1094,7 +1094,7 @@

    HTTP response

    Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json;charset=UTF-8 -Content-Length: 523 +Content-Length: 524 { "id" : 1, @@ -1116,8 +1116,8 @@

    HTTP response

    "options" : [ "선지1", "선지2" ] } }, - "createdAt" : "2024-09-12T15:40:15.199017", - "updatedAt" : "2024-09-12T15:40:15.19902" + "createdAt" : "2024-09-19T19:31:37.917905", + "updatedAt" : "2024-09-19T19:31:37.917907" } @@ -1400,8 +1400,8 @@

    HTTP response

    "options" : [ "수정한 선지1", "수정한 선지2" ] } }, - "createdAt" : "2024-09-12T15:40:15.033431", - "updatedAt" : "2024-09-12T15:40:15.033443" + "createdAt" : "2024-09-19T19:31:37.880796", + "updatedAt" : "2024-09-19T19:31:37.880797" } @@ -2012,7 +2012,7 @@

    Response fields

    diff --git a/src/main/resources/static/docs/user-controller-test.html b/src/main/resources/static/docs/user-controller-test.html deleted file mode 100644 index e68a911f..00000000 --- a/src/main/resources/static/docs/user-controller-test.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - - -유저 API - - - - - -
    -
    -

    유저 API

    -
    -
    -
    -

    로그인 유저 기본 정보 조회 (GET /users/me)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    GET /users/me HTTP/1.1
    -Authorization: user_access_token
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -
    -
    -
    -

    Request cookies

    - ---- - - - - - - - - - - - - -
    NameDescription

    refresh-token

    갱신 토큰

    -
    -
    -

    Request headers

    - ---- - - - - - - - - - - - - -
    NameDescription

    Authorization

    access token

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 200 OK
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json
    -Content-Length: 356
    -
    -{
    -  "id" : 1,
    -  "name" : "이름",
    -  "phone" : "010-1234-5678",
    -  "email" : "student@g.skku.edu",
    -  "socialLoginId" : "아이디",
    -  "userType" : "STUDENT",
    -  "division" : null,
    -  "position" : null,
    -  "studentNumber" : "2000123456",
    -  "departmentName" : "학과",
    -  "createdAt" : "2024-08-24T02:27:24.634547",
    -  "updatedAt" : "2024-08-24T02:27:24.634552"
    -}
    -
    -
    -
    -
    -

    Response fields

    - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PathTypeDescription

    id

    Number

    사용자 ID

    name

    String

    사용자 이름

    phone

    String

    사용자 전화번호

    email

    String

    사용자 이메일

    socialLoginId

    String

    사용자 이메일

    userType

    String

    사용자 유형

    division

    String

    소속

    position

    String

    직책

    studentNumber

    String

    학번

    departmentName

    String

    학과 이름

    createdAt

    String

    생성일

    updatedAt

    String

    수정일

    -
    -
    -
    -
    -
    -

    로그인 유저 기본 정보 수정 (PUT /users/me)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    PUT /users/me HTTP/1.1
    -Content-Type: application/json;charset=UTF-8
    -Authorization: user_access_token
    -Content-Length: 193
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -{
    -  "name" : "이름",
    -  "phone" : "010-1234-5678",
    -  "email" : "student@g.skku.edu",
    -  "division" : null,
    -  "position" : null,
    -  "studentNumber" : "2000123456",
    -  "departmentName" : "학과"
    -}
    -
    -
    -
    -
    -

    Request cookies

    - ---- - - - - - - - - - - - - -
    NameDescription

    refresh-token

    갱신 토큰

    -
    -
    -

    Request headers

    - ---- - - - - - - - - - - - - -
    NameDescription

    Authorization

    access token

    -
    -
    -

    Request fields

    - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeRequiredDescription

    name

    String

    true

    이름

    phone

    String

    true

    전화번호

    email

    String

    true

    이메일

    division

    String

    소속

    position

    String

    직책

    studentNumber

    String

    학번

    departmentName

    String

    학과

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 200 OK
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json
    -Content-Length: 356
    -
    -{
    -  "id" : 1,
    -  "name" : "이름",
    -  "phone" : "010-1234-5678",
    -  "email" : "student@g.skku.edu",
    -  "socialLoginId" : "아이디",
    -  "userType" : "STUDENT",
    -  "division" : null,
    -  "position" : null,
    -  "studentNumber" : "2000123456",
    -  "departmentName" : "학과",
    -  "createdAt" : "2024-08-24T02:27:24.662964",
    -  "updatedAt" : "2024-08-24T02:27:24.662969"
    -}
    -
    -
    -
    -
    -

    Response fields

    - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PathTypeDescription

    id

    Number

    사용자 ID

    name

    String

    사용자 이름

    phone

    String

    사용자 전화번호

    email

    String

    사용자 이메일

    socialLoginId

    String

    사용자 이메일

    userType

    String

    사용자 유형

    division

    String

    소속

    position

    String

    직책

    studentNumber

    String

    학번

    departmentName

    String

    학과 이름

    createdAt

    String

    생성일

    updatedAt

    String

    수정일

    -
    -
    -
    -
    -
    -

    유저 탈퇴 (DELETE /users/me)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    DELETE /users/me HTTP/1.1
    -Authorization: user_access_token
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -
    -
    -
    -

    Request cookies

    - ---- - - - - - - - - - - - - -
    NameDescription

    refresh-token

    갱신 토큰

    -
    -
    -

    Request headers

    - ---- - - - - - - - - - - - - -
    NameDescription

    Authorization

    access token

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 204 No Content
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -
    -
    -
    -
    -
    -
    -
    -

    유저 문의 리스트 조회 (GET /users/inquiries)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    GET /users/inquiries HTTP/1.1
    -Authorization: user_access_token
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -
    -
    -
    -

    Request cookies

    - ---- - - - - - - - - - - - - -
    NameDescription

    refresh-token

    갱신 토큰

    -
    -
    -

    Request headers

    - ---- - - - - - - - - - - - - -
    NameDescription

    Authorization

    Access Token

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 200 OK
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json
    -Content-Length: 214
    -
    -[ {
    -  "id" : 1,
    -  "title" : "Title 1",
    -  "projectId" : 1,
    -  "createdDate" : "2024-08-24T02:27:24.621653"
    -}, {
    -  "id" : 2,
    -  "title" : "Title 2",
    -  "projectId" : 2,
    -  "createdDate" : "2024-08-24T02:27:24.621665"
    -} ]
    -
    -
    -
    -

    [[_ response_fields]] -== response fields

    -
    -
    -

    Snippet response-fields not found for operation::user-controller-test/get-user-inquiries

    -
    -
    -
    -
    -
    -
    -

    유저 과제 제안 리스트 조회 (GET /users/proposals)

    -
    -
    -
    -

    HTTP request

    -
    -
    -
    GET /users/proposals HTTP/1.1
    -Authorization: user_access_token
    -Host: localhost:8080
    -Cookie: refresh-token=refresh_token
    -
    -
    -
    -
    -

    Request cookies

    - ---- - - - - - - - - - - - - -
    NameDescription

    refresh-token

    갱신 토큰

    -
    -
    -

    Request headers

    - ---- - - - - - - - - - - - - -
    NameDescription

    Authorization

    Access Token

    -
    -
    -

    HTTP response

    -
    -
    -
    HTTP/1.1 200 OK
    -Vary: Origin
    -Vary: Access-Control-Request-Method
    -Vary: Access-Control-Request-Headers
    -Content-Type: application/json
    -Content-Length: 175
    -
    -[ {
    -  "id" : 1,
    -  "title" : "Title 1",
    -  "createdDate" : "2024-08-24T02:27:24.64757"
    -}, {
    -  "id" : 2,
    -  "title" : "Title 2",
    -  "createdDate" : "2024-08-24T02:27:24.647579"
    -} ]
    -
    -
    -
    -

    [[_ response_fields]] -== response fields

    -
    -
    -

    Snippet response-fields not found for operation::user-controller-test/get-user-proposals

    -
    -
    -
    -
    -
    -
    -
    -
    - - - \ No newline at end of file diff --git a/src/test/java/com/scg/stop/project/controller/ProjectControllerTest.java b/src/test/java/com/scg/stop/project/controller/ProjectControllerTest.java index 9bf434f1..8ef97329 100644 --- a/src/test/java/com/scg/stop/project/controller/ProjectControllerTest.java +++ b/src/test/java/com/scg/stop/project/controller/ProjectControllerTest.java @@ -113,7 +113,7 @@ void getProjects() throws Exception { ); Page pageResponse = new PageImpl<>(List.of(projectResponse1, projectResponse2), PageRequest.of(0, 10), 2); - when(projectService.getProjects(any(), any(), any(), any(), any())).thenReturn(pageResponse); + when(projectService.getProjects(any(), any(), any(), any(), any(), any())).thenReturn(pageResponse); // when ResultActions result = mockMvc.perform( @@ -130,6 +130,7 @@ void getProjects() throws Exception { parameterWithName("title").description("프로젝트 이름").optional(), parameterWithName("year").description("프로젝트 년도").optional(), parameterWithName("category").description("프로젝트 카테고리").optional(), + parameterWithName("type").description("프로젝트 타입").optional(), parameterWithName("page").description("페이지 번호 [default: 0]").optional(), parameterWithName("size").description("페이지 크기 [default: 10]").optional(), parameterWithName("sort").description("정렬 기준").optional()