{"info":{"_postman_id":"00c8019d-ee7d-4f6c-8211-9f1dffc7b3ed","name":"ScheduleApp-ServerJPA","description":"<html><head></head><body><p><strong>일정 관리 웹 애플리케이션의 API 문서입니다.</strong></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"43154257","collectionId":"00c8019d-ee7d-4f6c-8211-9f1dffc7b3ed","publishedId":"2sB2cSgip2","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-04-03T01:55:33.000Z"},"item":[{"name":"User Entity","item":[{"name":"유저생성","id":"9747dc9b-107e-4e1a-bddb-a3df2c03d08b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"test\",\r\n    \"email\": \"test@test.com\",\r\n    \"pwd\": \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users/signup","description":"<p>회원가입을 위한 사용자 생성 요청입니다.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","name":"User Entity","type":"folder"}},"urlObject":{"port":"8080","path":["users","signup"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"f4199c52-7e4c-4919-a362-9748acd9e1ba","name":"유저생성 성공","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"test\",\r\n    \"email\": \"test@test.com\",\r\n    \"pwd\": \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users/signup"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:34:22 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"name\": \"test\",\n    \"email\": \"test@test.com\",\n    \"createdAt\": \"2025-04-03 10:34:22\",\n    \"updatedAt\": \"2025-04-03 10:34:22\"\n}"},{"id":"030ef112-9235-4bf6-b02e-08e218a05da5","name":"유저생성 실패","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"test\",\r\n    \"email\": \"test@test.com\",\r\n    \"pwd\": \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users/signup"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:34:48 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 이미 존재하는 이메일입니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.InvalidRequestException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.UserRepository\",\n    \"ErrorMethod: checkEmailDuplicate\",\n    \"HttpStatus: BAD_REQUEST\"\n]"}],"_postman_id":"9747dc9b-107e-4e1a-bddb-a3df2c03d08b"},{"name":"유저전체조회","id":"199062bc-89bf-4073-b2f5-65a5d4c39f6b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"localhost:8080/users","description":"<p>회원가입된 유저 전부를 조회하는 요청입니다.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","name":"User Entity","type":"folder"}},"urlObject":{"port":"8080","path":["users"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"a2a2f762-22ae-4522-9bc1-1e6b29e13f59","name":"유저전체조회 성공 (200)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/users"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:38:33 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"name\": \"aa\",\n        \"email\": \"aa@aa.com\"\n    },\n    {\n        \"id\": 2,\n        \"name\": \"bb\",\n        \"email\": \"bb@bb.com\"\n    },\n    {\n        \"id\": 3,\n        \"name\": \"cc\",\n        \"email\": \"cc@cc.com\"\n    },\n    {\n        \"id\": 4,\n        \"name\": \"dd\",\n        \"email\": \"dd@dd.com\"\n    },\n    {\n        \"id\": 6,\n        \"name\": \"ee\",\n        \"email\": \"ee@ee.com\"\n    },\n    {\n        \"id\": 10,\n        \"name\": \"test\",\n        \"email\": \"test@test.com\"\n    }\n]"},{"id":"9239538b-e9e2-49f8-9006-fa9410ceda25","name":"유저전체조회 실패 (403)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/users"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 01:37:57 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."},{"id":"65a2f8c2-aa56-42fd-ac12-b5f7d5717343","name":"유저전체조회 실패 (403)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/users"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 01:50:11 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"199062bc-89bf-4073-b2f5-65a5d4c39f6b"},{"name":"유저단건조회","id":"c9fcc059-0522-4287-ab4b-cdb57037e1e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"localhost:8080/users/{id}","description":"<p>유저를 단건 조회하는 요청입니다.<br /><code>{id} - 조회할 유저의 ID</code></p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","name":"User Entity","type":"folder"}},"urlObject":{"port":"8080","path":["users","{id}"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"49ad8c44-40cd-49f5-bf0a-7533b25b523c","name":"유저단건조회 성공 (200)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/users/1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:39:02 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"name\": \"aa\",\n    \"email\": \"aa@aa.com\"\n}"},{"id":"effccb90-6423-45ed-b7da-434ef2a0638a","name":"유저단건조회 실패 (404)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/users/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:39:23 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 999, 해당 유저가 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.UserRepository\",\n    \"ErrorMethod: lambda$findByIdOrElseThrow$0\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"7a4de4fa-7899-4ad9-a6b3-0b93a590e8c2","name":"유저단건조회 실패 (403)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/users/1"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 01:50:07 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"c9fcc059-0522-4287-ab4b-cdb57037e1e3"},{"name":"유저수정","id":"ebbc7fdd-04af-4bd3-bd4c-607432716eef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\" : \"234\",\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users","description":"<p>로그인한 유저의 정보를 수정하는 요청입니다.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","name":"User Entity","type":"folder"}},"urlObject":{"port":"8080","path":["users"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"59f462ca-da4f-4b8b-957d-b60b9772b1a2","name":"유저수정 성공 (200)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\" : \"aa\",\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Type","value":"text/plain;charset=UTF-8"},{"key":"Content-Length","value":"32"},{"key":"Date","value":"Thu, 03 Apr 2025 01:41:57 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"10 유저를 수정했습니다."},{"id":"a6ce0397-f430-4c34-8f21-92719f7fb480","name":"유저수정 실패 (401)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\" : \"aa\",\r\n    \"pwd\" : \"pwdpwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:42:12 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 비밀번호가 틀렸습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.InvalidPasswordException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.service.UserServiceImpl\",\n    \"ErrorMethod: update\",\n    \"HttpStatus: UNAUTHORIZED\"\n]"},{"id":"595889fd-2c2b-48c9-a940-08f657e17249","name":"유저수정 실패 (403)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\" : \"234\",\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 01:49:42 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"ebbc7fdd-04af-4bd3-bd4c-607432716eef"},{"name":"유저삭제","id":"96bbaf1b-b0a7-4e66-ae96-0722e1543eae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users","description":"<p>로그인한 유저를 삭제하는 요청입니다.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","name":"User Entity","type":"folder"}},"urlObject":{"port":"8080","path":["users"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"3977d217-6d49-4443-940d-d5151bf3adb2","name":"유저삭제 성공 (200)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Type","value":"text/plain;charset=UTF-8"},{"key":"Content-Length","value":"32"},{"key":"Date","value":"Thu, 03 Apr 2025 01:44:02 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"10 유저를 삭제했습니다."},{"id":"7a043a98-6941-4b9a-bc1b-10d24bd0aedc","name":"유저삭제 실패 (401)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwdpwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:43:37 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 비밀번호가 틀렸습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.InvalidPasswordException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.service.UserServiceImpl\",\n    \"ErrorMethod: delete\",\n    \"HttpStatus: UNAUTHORIZED\"\n]"},{"id":"7ab6c1cf-5486-4c7a-989c-1d7f2fd9c501","name":"유저삭제 실패 (403)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 01:49:29 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"96bbaf1b-b0a7-4e66-ae96-0722e1543eae"},{"name":"로그인","id":"05211fed-756b-4ea1-9dd0-de691a4861f3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\" : \"test@test.com\",\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users/login","description":"<p>이메일과 비밀번호를 입력하여 로그인하는 요청입니다.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","name":"User Entity","type":"folder"}},"urlObject":{"port":"8080","path":["users","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"abfc43c1-7ec3-4f26-b1b3-a7a24dbd1c44","name":"로그인 성공 (200)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\" : \"test@test.com\",\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users/login"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Set-Cookie","value":"JSESSIONID=36EB24E61600BC3181866E4E43327AF6; Path=/; HttpOnly"},{"key":"Content-Type","value":"text/plain;charset=UTF-8"},{"key":"Content-Length","value":"22"},{"key":"Date","value":"Thu, 03 Apr 2025 01:35:47 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인했습니다."},{"id":"e4e116b2-2341-4111-9291-61a4890f8639","name":"로그인 실패 (400)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\" : \"test@test.com\",\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users/login"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:36:00 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 이미 로그인된 상태입니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.InvalidRequestException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.controller.UserController\",\n    \"ErrorMethod: login\",\n    \"HttpStatus: BAD_REQUEST\"\n]"},{"id":"3455699a-1de1-470a-a5a1-326dc8e33b31","name":"로그인 실패 (401)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\" : \"test@test.com\",\r\n    \"pwd\" : \"pwdpwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/users/login"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Set-Cookie","value":"JSESSIONID=A5E99EE4FD1DC5C658BCED526BA622E0; Path=/; HttpOnly"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:37:10 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 비밀번호가 틀렸습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.InvalidPasswordException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.service.UserServiceImpl\",\n    \"ErrorMethod: login\",\n    \"HttpStatus: UNAUTHORIZED\"\n]"}],"_postman_id":"05211fed-756b-4ea1-9dd0-de691a4861f3"},{"name":"로그아웃","id":"576ead1a-cd35-4090-a65a-4f5f9001ddd8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"localhost:8080/users/logout","description":"<p>로그인 중인 유저를 로그아웃 하는 요청입니다.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","name":"User Entity","type":"folder"}},"urlObject":{"port":"8080","path":["users","logout"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"19bd9409-9e47-4e23-a6d1-95b1c61144ce","name":"로그아웃 성공 (200)","originalRequest":{"method":"POST","header":[],"url":"localhost:8080/users/logout"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Type","value":"text/plain;charset=UTF-8"},{"key":"Content-Length","value":"26"},{"key":"Date","value":"Thu, 03 Apr 2025 01:36:13 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그아웃 했습니다."},{"id":"0a74fdf4-bfc9-477c-ad15-c37de5855ecd","name":"로그아웃 실패 (403)","originalRequest":{"method":"POST","header":[],"url":"localhost:8080/users/logout"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 01:36:33 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"576ead1a-cd35-4090-a65a-4f5f9001ddd8"}],"id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e","description":"<p><strong>User 엔터티는 애플리케이션의 사용자 정보를 저장하는 테이블입니다.</strong></p>\n<ul>\n<li><p><code>id</code> (Long) : 사용자 고유 식별자 (자동 증가)</p>\n</li>\n<li><p><code>name</code> (String) : 사용자 이름</p>\n</li>\n<li><p><code>email</code> (String) : 사용자 이메일</p>\n</li>\n<li><p><code>pwd</code> (String) : 사용자 비밀번호</p>\n</li>\n<li><p><code>createdAt</code> (LocalDateTime) : 엔터티가 생성된 시간 (수정 불가)</p>\n</li>\n<li><p><code>updatedAt</code> (LocalDateTime) : 엔터티가 마지막으로 수정된 시간</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"af30c70d-4262-4510-9290-6a61e761c9ea","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"e009ad5b-813a-47d8-8168-e97c7f858459","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"3c6fe6be-0e13-4e7d-b7a2-becbfc8c8b2e"},{"name":"Plan Entity","item":[{"name":"일정생성","id":"13b85e97-6b83-432c-b469-1319d7163494","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"제목-10글자이내\",\r\n    \"contents\": \"할일\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans","description":"<p>새로운 일정을 생성하는 요청입니다.</p>\n","urlObject":{"port":"8080","path":["plans"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"eaf9aa68-40ce-46a6-9d16-7ae98e6415bf","name":"일정생성 성공 (201)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"titleTest\",\r\n    \"contents\": \"contentsTest\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:57:30 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"username\": \"test\",\n    \"title\": \"titleTest\",\n    \"contents\": \"contentsTest\",\n    \"createdAt\": \"2025-04-03 10:57:30\",\n    \"updatedAt\": \"2025-04-03 10:57:30\"\n}"},{"id":"54f115b6-2e27-4d8d-8af8-78c20684f205","name":"일정생성 실패 (400)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"titleTest\"\r\n\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 01:57:45 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"contents\": \"할일은 필수값 입니다.\"\n}"},{"id":"1e526766-4842-43d8-a57d-5e2f92423800","name":"일정생성 실패 (403)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"titleTest\",\r\n    \"contents\": \"contentsTest\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 01:57:13 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."},{"id":"830536bf-17d3-4aa0-973e-39ac1f535f7d","name":"일정생성 실패 (403)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"제목-10글자이내\",\r\n    \"contents\": \"할일\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:32:41 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"13b85e97-6b83-432c-b469-1319d7163494"},{"name":"일정전체조회","id":"094aee14-24fb-4f1c-92e7-0d8a03b0648b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"localhost:8080/plans","description":"<p>모든 일정을 조회하는 요청입니다.</p>\n","urlObject":{"port":"8080","path":["plans"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"11806c87-42a1-4fdd-84c9-3de197532390","name":"일정전체조회 성공 (200)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:01:55 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"username\": \"aa\",\n        \"title\": \"titleTest\",\n        \"contents\": \"contentsTest\",\n        \"createdAt\": \"2025-04-02 18:51:24\",\n        \"updatedAt\": \"2025-04-02 18:51:24\"\n    },\n    {\n        \"username\": \"aa\",\n        \"title\": \"titleTest\",\n        \"contents\": \"contentsTest\",\n        \"createdAt\": \"2025-04-02 18:51:25\",\n        \"updatedAt\": \"2025-04-02 18:51:25\"\n    },\n    {\n        \"username\": \"bb\",\n        \"title\": \"titleTest\",\n        \"contents\": \"contentsTest\",\n        \"createdAt\": \"2025-04-02 18:51:41\",\n        \"updatedAt\": \"2025-04-02 18:51:41\"\n    },\n    {\n        \"username\": \"bb\",\n        \"title\": \"titleTest\",\n        \"contents\": \"contentsTest\",\n        \"createdAt\": \"2025-04-02 18:51:42\",\n        \"updatedAt\": \"2025-04-02 18:51:42\"\n    },\n    {\n        \"username\": \"cc\",\n        \"title\": \"titleTest\",\n        \"contents\": \"contentsTest\",\n        \"createdAt\": \"2025-04-02 18:51:54\",\n        \"updatedAt\": \"2025-04-02 18:51:54\"\n    },\n    {\n        \"username\": \"dd\",\n        \"title\": \"titleTest\",\n        \"contents\": \"contentsTest\",\n        \"createdAt\": \"2025-04-02 18:52:08\",\n        \"updatedAt\": \"2025-04-02 18:52:08\"\n    },\n    {\n        \"username\": \"dd\",\n        \"title\": \"titleTest\",\n        \"contents\": \"contentsTest\",\n        \"createdAt\": \"2025-04-02 18:52:09\",\n        \"updatedAt\": \"2025-04-02 18:52:09\"\n    },\n    {\n        \"username\": \"test\",\n        \"title\": \"titleTest\",\n        \"contents\": \"contentsTest\",\n        \"createdAt\": \"2025-04-03 10:57:30\",\n        \"updatedAt\": \"2025-04-03 10:57:30\"\n    }\n]"},{"id":"d1db61a6-1c6b-42ee-ac49-ca291b686bd1","name":"일정전체조회 실패 (403)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:32:47 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"094aee14-24fb-4f1c-92e7-0d8a03b0648b"},{"name":"일정단건조회","id":"d13eb937-98db-48d1-b2e0-efbcbcfa63e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"localhost:8080/plans/{id}","description":"<p>일정의 단건 조회 요청입니다.</p>\n<p><code>{id} - 조회할 일정의 ID</code></p>\n","urlObject":{"port":"8080","path":["plans","{id}"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"3a1a27cb-a79b-40a0-acaa-518e7fdef6e5","name":"일정단건조회 성공 (200)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans/1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:02:07 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"username\": \"aa\",\n    \"title\": \"titleTest\",\n    \"contents\": \"contentsTest\",\n    \"createdAt\": \"2025-04-02 18:51:24\",\n    \"updatedAt\": \"2025-04-02 18:51:24\"\n}"},{"id":"cf62e81d-5e92-4ff5-b5a6-beee91f80f58","name":"일정단건조회 실패 (404)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans/99"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:03:07 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 99, 해당 일정이 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.PlanRepository\",\n    \"ErrorMethod: lambda$findByIdOrElseThrow$0\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"b82d9399-ce3a-4f54-80d1-e9bc315ce1ed","name":"일정단건조회 실패 (403)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans/{id}"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:32:53 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"d13eb937-98db-48d1-b2e0-efbcbcfa63e2"},{"name":"일정 페이징 조회","id":"c3522838-ada3-4b1c-822c-691df3f1b3c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"localhost:8080/plans/pages?pageNumber=1&pageSize=10","description":"<p>일정의 페이징 조회 요청입니다.  </p>\n<p><code>pageNumber</code> : 1 이상의 값 입력, Default Value = 1</p>\n<p><code>pageSize</code> : 1 이상의 값 입력, Default value = 10</p>\n","urlObject":{"port":"8080","path":["plans","pages"],"host":["localhost"],"query":[{"key":"pageNumber","value":"1"},{"key":"pageSize","value":"10"}],"variable":[]}},"response":[{"id":"9a16cb0e-d7cb-47b7-979c-b29a40466839","name":"일정 페이징 조회 성공 (200)","originalRequest":{"method":"GET","header":[],"url":{"raw":"localhost:8080/plans/pages?pageNumber=1&pageSize=5","host":["localhost"],"port":"8080","path":["plans","pages"],"query":[{"key":"pageNumber","value":"1","type":"text"},{"key":"pageSize","value":"5","type":"text"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:11:58 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"plans\": [\n        {\n            \"userName\": \"dd\",\n            \"title\": \"titleTest\",\n            \"contents\": \"contentsTest\",\n            \"commentCount\": 0,\n            \"createdAt\": \"2025-04-02 18:52:09\",\n            \"updatedAt\": \"2025-04-02 18:52:09\"\n        },\n        {\n            \"userName\": \"dd\",\n            \"title\": \"titleTest\",\n            \"contents\": \"contentsTest\",\n            \"commentCount\": 0,\n            \"createdAt\": \"2025-04-02 18:52:08\",\n            \"updatedAt\": \"2025-04-02 18:52:08\"\n        },\n        {\n            \"userName\": \"cc\",\n            \"title\": \"titleTest\",\n            \"contents\": \"contentsTest\",\n            \"commentCount\": 2,\n            \"createdAt\": \"2025-04-02 18:51:54\",\n            \"updatedAt\": \"2025-04-02 18:51:54\"\n        },\n        {\n            \"userName\": \"bb\",\n            \"title\": \"titleTest\",\n            \"contents\": \"contentsTest\",\n            \"commentCount\": 2,\n            \"createdAt\": \"2025-04-02 18:51:42\",\n            \"updatedAt\": \"2025-04-02 18:51:42\"\n        },\n        {\n            \"userName\": \"bb\",\n            \"title\": \"titleTest\",\n            \"contents\": \"contentsTest\",\n            \"commentCount\": 0,\n            \"createdAt\": \"2025-04-02 18:51:41\",\n            \"updatedAt\": \"2025-04-02 18:51:41\"\n        }\n    ],\n    \"pageInfo\": {\n        \"pageNumber\": 1,\n        \"pageSize\": 5,\n        \"totalPages\": 2,\n        \"totalElements\": 7\n    }\n}"},{"id":"049723f1-5834-4d8a-8011-786b6c312f7e","name":"일정 페이징 조회 실패 (400)","originalRequest":{"method":"GET","header":[],"url":{"raw":"localhost:8080/plans/pages?pageNumber=-1&pageSize=-5","host":["localhost"],"port":"8080","path":["plans","pages"],"query":[{"key":"pageNumber","value":"-1"},{"key":"pageSize","value":"-5"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:12:49 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"page.pageSize\": \"1 이상의 값을 가져야 합니다.\",\n    \"page.pageNumber\": \"1 이상의 값을 가져야 합니다.\"\n}"},{"id":"8c1fce26-565a-433e-8e36-917ea6e69e12","name":"일정 페이징 조회 실패 (403)","originalRequest":{"method":"GET","header":[],"url":{"raw":"localhost:8080/plans/pages?pageNumber=1&pageSize=10","host":["localhost"],"port":"8080","path":["plans","pages"],"query":[{"key":"pageNumber","value":"1"},{"key":"pageSize","value":"10"}]}},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:33:00 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"c3522838-ada3-4b1c-822c-691df3f1b3c0"},{"name":"일정수정","id":"6e7d3344-da8f-402e-a412-6ba182663bf2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"제목-10글자이내\",\r\n    \"contents\": \"수정 할일\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/{id}","description":"<p>지정된 ID의 일정을 수정하는 요청입니다.</p>\n<p><code>{id} - 수정할 일정의 ID</code></p>\n","urlObject":{"port":"8080","path":["plans","{id}"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"3dbefa81-dce9-43a3-a874-083c721beaa4","name":"일정수정 성공 (200)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"titleTest\",\r\n    \"contents\": \"contentsTest\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/11"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Type","value":"text/plain;charset=UTF-8"},{"key":"Content-Length","value":"39"},{"key":"Date","value":"Thu, 03 Apr 2025 02:05:28 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"일정 수정이 완료되었습니다."},{"id":"047fd3da-ffd1-4ad9-a180-acfd8def9b4f","name":"일정수정 실패 (400)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/3"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:07:43 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: Required request body is missing: public org.springframework.http.ResponseEntity<java.lang.String> com.example.scheduleappserverjpa.controller.PlanController.updatePlan(java.lang.Long,com.example.scheduleappserverjpa.dto.plan.request.UpdateRequestDto,jakarta.servlet.http.HttpServletRequest)\",\n    \"ErrorType: class org.springframework.http.converter.HttpMessageNotReadableException\",\n    \"ErrorClass: org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor\",\n    \"ErrorMethod: readWithMessageConverters\",\n    \"HttpStatus: BAD_REQUEST\"\n]"},{"id":"912c7eeb-af24-4beb-b38c-be8922242573","name":"일정수정 실패 (400)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/3"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:07:18 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 입력 값이 유효하지 않습니다. 둘 중 하나의 값은 입력해야 합니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.InvalidRequestException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.service.PlanServiceImpl\",\n    \"ErrorMethod: updatePlan\",\n    \"HttpStatus: BAD_REQUEST\"\n]"},{"id":"23deac51-e9de-4426-aa41-7e252c3b9c3d","name":"일정수정 실패 (400)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"titleTestttt\",\r\n    \"contents\": \"contentsTestTT\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/10"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:04:10 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"title\": \"크기가 0에서 10 사이여야 합니다\"\n}"},{"id":"797ca8bc-2e1b-4d1c-b675-02cbefe08e93","name":"일정수정 실패 (403)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"titleTest\",\r\n    \"contents\": \"contentsTest\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/3"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:06:03 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 권한이 없는 일정에 접근 하셨습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.UnauthorizedAccessException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.PlanRepository\",\n    \"ErrorMethod: validatePlanAccess\",\n    \"HttpStatus: UNAUTHORIZED\"\n]"},{"id":"2e4df8c0-e308-4c27-ba82-93983eca451f","name":"일정수정 실패 (404)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"titleTest\",\r\n    \"contents\": \"contentsTest\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/10"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:05:15 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 10, 해당 일정이 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.PlanRepository\",\n    \"ErrorMethod: lambda$findByIdOrElseThrow$0\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"478565ef-69c9-46c0-8098-6262e8c8a88c","name":"일정수정 실패 (403)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"제목-10글자이내\",\r\n    \"contents\": \"수정 할일\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/{id}"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:33:08 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"6e7d3344-da8f-402e-a412-6ba182663bf2"},{"name":"일정삭제","id":"83f1403c-984c-4803-aae5-8d5de0729bd5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/{id}","description":"<p>요청된 비밀번호를 검증한 후, 지정된 ID의 일정을 삭제하는 요청입니다.</p>\n<p><code>{id} - 삭제할 일정의 ID</code></p>\n","urlObject":{"port":"8080","path":["plans","{id}"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"5798ea68-76c3-4c46-9fa5-cd54917f9b59","name":"일정삭제 성공 (201)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/11"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Type","value":"text/plain;charset=UTF-8"},{"key":"Content-Length","value":"39"},{"key":"Date","value":"Thu, 03 Apr 2025 02:09:29 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"일정 삭제가 완료되었습니다."},{"id":"a4df6e04-38bd-4369-ae5f-ac5fbbe541fb","name":"일정삭제 (401)","originalRequest":{"method":"DELETE","header":[],"url":"localhost:8080/plans/1"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:06:55 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: Required request body is missing: public org.springframework.http.ResponseEntity<java.lang.String> com.example.scheduleappserverjpa.controller.PlanController.deletePlan(java.lang.Long,com.example.scheduleappserverjpa.dto.plan.request.DeleteRequestDto,jakarta.servlet.http.HttpServletRequest)\",\n    \"ErrorType: class org.springframework.http.converter.HttpMessageNotReadableException\",\n    \"ErrorClass: org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor\",\n    \"ErrorMethod: readWithMessageConverters\",\n    \"HttpStatus: BAD_REQUEST\"\n]"},{"id":"0b191d03-aa74-41f9-a9d9-b61d178b0177","name":"일정삭제 실패 (403)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"11\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/3"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:08:58 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 권한이 없는 일정에 접근 하셨습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.UnauthorizedAccessException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.PlanRepository\",\n    \"ErrorMethod: validatePlanAccess\",\n    \"HttpStatus: UNAUTHORIZED\"\n]"},{"id":"49efcf27-7191-4604-a133-a718630e1c67","name":"일정삭제 실패 (403)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwdpwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/11"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:09:17 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 비밀번호가 틀렸습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.InvalidPasswordException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.service.PlanServiceImpl\",\n    \"ErrorMethod: deletePlan\",\n    \"HttpStatus: UNAUTHORIZED\"\n]"},{"id":"af775553-7cfd-4652-83d2-5b4c2f4affc8","name":"일정삭제 실패 (403)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/{id}"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:33:17 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"83f1403c-984c-4803-aae5-8d5de0729bd5"}],"id":"ef40cb8d-e1c7-4191-a236-bc14bf9c8f66","description":"<p><strong>Plan 엔터티는 사용자가 생성한 일정 또는 계획 정보를 저장하는 테이블입니다.</strong></p>\n<ul>\n<li><p><code>id</code> (Long) : 플랜(일정)의 고유 식별자 (자동 증가)</p>\n</li>\n<li><p><code>title</code> (String) : 플랜 제목 (필수 입력)</p>\n</li>\n<li><p><code>contents</code> (String) : 플랜 상세 내용 (필수 입력)</p>\n</li>\n<li><p><code>user</code> (User) : 플랜을 생성한 사용자 (<code>user_id</code>를 외래 키로 가짐, 사용자 삭제 시 해당 플랜도 삭제됨)</p>\n</li>\n<li><p><code>createdAt</code> (LocalDateTime) : 엔터티가 생성된 시간 (수정 불가)</p>\n</li>\n<li><p><code>updatedAt</code> (LocalDateTime) : 엔터티가 마지막으로 수정된 시간</p>\n</li>\n</ul>\n","_postman_id":"ef40cb8d-e1c7-4191-a236-bc14bf9c8f66"},{"name":"Comment Entity","item":[{"name":"댓글추가","id":"8dc0b150-b9c9-4ee7-9161-acf0f90a9200","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\":\"댓글\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/{planId}/comments","description":"<p>일정에 댓글을 추가하는 요청입니다.</p>\n<p><code>{planId} - 댓글을 추가할 일정의 ID</code></p>\n","urlObject":{"port":"8080","path":["plans","{planId}","comments"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"ccc12fd9-7830-4e59-9ebb-cb8ca65d85eb","name":"댓글추가 성공 (201)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\":\"댓글테스트\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/6/comments"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:19:54 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"username\": \"test\",\n    \"content\": \"댓글테스트\",\n    \"createdAt\": \"2025-04-03 11:19:54\",\n    \"updatedAt\": \"2025-04-03 11:19:54\"\n}"},{"id":"79f6da78-69f2-42b2-9fd6-294acf43354c","name":"댓글추가 실패 (404)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\":\"댓글테스트\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/99/comments"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:20:21 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 99, 해당 일정이 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.PlanRepository\",\n    \"ErrorMethod: lambda$findByIdOrElseThrow$0\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"80c7c867-441e-480e-aaa5-f0aa94f4c9d8","name":"댓글추가 실패 (403)","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\":\"댓글\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/{planId}/comments"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:31:12 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"8dc0b150-b9c9-4ee7-9161-acf0f90a9200"},{"name":"댓글전체조회","id":"832b84f7-7b4d-4840-b592-8e7670d217f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"localhost:8080/plans/{planId}/comments","description":"<p>일정의 댓글을 모두 조회하는 요청입니다.<br /><code>{palnId} - 댓글을 조회할 일정의 ID</code></p>\n","urlObject":{"port":"8080","path":["plans","{planId}","comments"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"e96628f9-f43b-4e27-9ddc-4004fa68f79d","name":"댓글조회 성공 (200)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans/6/comments"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:21:35 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"username\": \"cc\",\n        \"content\": \"댓글테스트\",\n        \"createdAt\": \"2025-04-02 18:56:10\",\n        \"updatedAt\": \"2025-04-02 18:56:10\"\n    },\n    {\n        \"username\": \"cc\",\n        \"content\": \"수정된 댓글입니다.\",\n        \"createdAt\": \"2025-04-02 18:56:11\",\n        \"updatedAt\": \"2025-04-02 18:56:44\"\n    },\n    {\n        \"username\": \"test\",\n        \"content\": \"댓글테스트\",\n        \"createdAt\": \"2025-04-03 11:19:54\",\n        \"updatedAt\": \"2025-04-03 11:19:54\"\n    }\n]"},{"id":"c83ab4ab-e7e7-4c4c-a921-8d842b2eaa54","name":"댓글조회 실패 (404)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans/5/comments"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:20:45 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 해당 일정이 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.PlanRepository\",\n    \"ErrorMethod: validateExistenceById\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"43ea430a-d2c3-4c32-a5a6-790538b88456","name":"댓글조회 실패 (403)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans/{planId}/comments"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:31:17 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"832b84f7-7b4d-4840-b592-8e7670d217f6"},{"name":"댓글단건조회","id":"b511f87a-ca52-47d8-b98e-736ba7417cdb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"localhost:8080/plans/{planId}/comments/{commentId}","description":"<p>일정의 단건 댓글을 조회하는 요청입니다.  </p>\n<p><code>{palnId} - 댓글을 조회할 일정의 ID</code></p>\n<p><code>{commentId} - 조회할 댓글의 ID</code></p>\n","urlObject":{"port":"8080","path":["plans","{planId}","comments","{commentId}"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"b74d1e08-ce4f-486e-846c-13633bbbcc4c","name":"단건댓글조회 성공 (200)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans/6/comments/11"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:23:14 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"username\": \"test\",\n    \"content\": \"댓글테스트\",\n    \"createdAt\": \"2025-04-03 11:19:54\",\n    \"updatedAt\": \"2025-04-03 11:19:54\"\n}"},{"id":"11aa8e18-dc7e-42a2-a10b-d92e188b0414","name":"단건댓글조회 실패 (404)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans/6/comments/1"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:21:54 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 해당하는 댓글이 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.CommentRepository\",\n    \"ErrorMethod: lambda$findByIdAndPlan_IdOrElseThrow$0\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"5085a1d9-6d99-4731-a62d-d8d2250d6fc4","name":"단건댓글조회 실패 (404)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans/99/comments/1"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:22:23 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 해당 일정이 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.PlanRepository\",\n    \"ErrorMethod: validateExistenceById\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"6c336173-db5a-496e-9259-223d4831a872","name":"단건댓글조회 실패 (403)","originalRequest":{"method":"GET","header":[],"url":"localhost:8080/plans/{planId}/comments/{commentId}"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:31:22 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"b511f87a-ca52-47d8-b98e-736ba7417cdb"},{"name":"댓글수정","id":"773cb9fb-46ec-4396-8022-3af7d3570d58","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\" : \"수정내용\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/{planId}/comments/{commentId}","description":"<p>일정의 댓글을 수정하는 요청입니다.</p>\n<p><code>{palnId} - 댓글을 조회할 일정의 ID</code></p>\n<p><code>{commentId} - 조회할 댓글의 ID</code></p>\n","urlObject":{"port":"8080","path":["plans","{planId}","comments","{commentId}"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"a50f3593-9a15-4c69-a0ea-2eb4249ce0a5","name":"댓글수정 성공 (200)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\" : \"수정합니다.\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/6/comments/11"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Type","value":"text/plain;charset=UTF-8"},{"key":"Content-Length","value":"39"},{"key":"Date","value":"Thu, 03 Apr 2025 02:26:09 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"댓글 수정이 완료되었습니다."},{"id":"74cba16d-23db-4b74-a614-925a723c62a3","name":"댓글수정 실패 (400)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/6/comments/22"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:25:44 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"content\": \"댓글은 필수값 입니다.\"\n}"},{"id":"57a79a64-afae-4d81-a473-edf76cd2ef4b","name":"댓글수정 실패 (403)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\" : \"수정합니다.\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/1/comments/2"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:24:37 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 댓글에 접근할 권한이 없습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.UnauthorizedAccessException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.CommentRepository\",\n    \"ErrorMethod: lambda$findByPlan_IdAndUser_IdAndIdOrElseThrow$1\",\n    \"HttpStatus: UNAUTHORIZED\"\n]"},{"id":"5e0b3179-3fcf-4b7d-9c6b-1cf947ed4d79","name":"댓글수정 실패 (404)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\" : \"수정합니다.\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/21/comments/2"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:24:51 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 해당 일정이 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.PlanRepository\",\n    \"ErrorMethod: validateExistenceById\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"f5455c7f-5474-4f52-a985-bb4bd7af520a","name":"댓글수정 실패 (404)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\" : \"수정합니다.\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/6/comments/22"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:25:24 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 해당 댓글이 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.CommentRepository\",\n    \"ErrorMethod: validateExistenceById\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"e0352378-73f7-46fb-a01c-db7353fc648e","name":"댓글수정 실패 (403)","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\" : \"수정내용\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/{planId}/comments/{commentId}"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:31:30 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"773cb9fb-46ec-4396-8022-3af7d3570d58"},{"name":"댓글삭제","id":"9f4f2bce-826b-4de4-a857-a5af589cb8ba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/{planId}/comments/{commentId}","description":"<p>요청된 비밀번호를 검증한 후, 지정된 ID의 댓글을 삭제하는 요청입니다.</p>\n<p><code>{palnId} - 댓글을 수정할 일정의 ID</code></p>\n<p><code>{commentId} - 수정할 댓글의 ID</code></p>\n","urlObject":{"port":"8080","path":["plans","{planId}","comments","{commentId}"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"b50f8811-7218-49eb-8c0d-7a739e490245","name":"댓글삭제 성공 (200)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/6/comments/11"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Content-Type","value":"text/plain;charset=UTF-8"},{"key":"Content-Length","value":"39"},{"key":"Date","value":"Thu, 03 Apr 2025 02:28:27 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"댓글 삭제가 완료되었습니다."},{"id":"2c77e436-0c05-4c98-a927-73887fd11bce","name":"댓글삭제 실패 (400)","originalRequest":{"method":"DELETE","header":[],"url":"localhost:8080/plans/1/comments/2"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:26:44 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: Required request body is missing: public org.springframework.http.ResponseEntity<java.lang.String> com.example.scheduleappserverjpa.controller.CommentController.deleteComment(java.lang.Long,java.lang.Long,com.example.scheduleappserverjpa.dto.comment.request.DeleteRequestDto,jakarta.servlet.http.HttpServletRequest)\",\n    \"ErrorType: class org.springframework.http.converter.HttpMessageNotReadableException\",\n    \"ErrorClass: org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor\",\n    \"ErrorMethod: readWithMessageConverters\",\n    \"HttpStatus: BAD_REQUEST\"\n]"},{"id":"7ed200e4-4e1a-4141-a75b-baad9adde452","name":"댓글삭제 실패 (401)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwdpwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/6/comments/11"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:28:11 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 비밀번호가 틀렸습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.InvalidPasswordException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.service.CommentServiceImpl\",\n    \"ErrorMethod: deleteComment\",\n    \"HttpStatus: UNAUTHORIZED\"\n]"},{"id":"6f2690e4-32e4-47b4-9819-e7231ebf32fa","name":"댓글삭제 실패 (403)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwdpwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/1/comments/2"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:27:13 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 댓글에 접근할 권한이 없습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.UnauthorizedAccessException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.CommentRepository\",\n    \"ErrorMethod: lambda$findByPlan_IdAndUser_IdAndIdOrElseThrow$1\",\n    \"HttpStatus: UNAUTHORIZED\"\n]"},{"id":"57bb2389-ca4d-43e4-8c72-2fc0e32ef542","name":"댓글삭제 실패 (404)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwdpwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/111/comments/111"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:27:28 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 해당 일정이 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.PlanRepository\",\n    \"ErrorMethod: validateExistenceById\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"b154e9e7-433e-4b58-ae7c-75488b99c163","name":"댓글삭제 실패 (404)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwdpwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/1/comments/111"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 03 Apr 2025 02:27:28 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"Message: 해당 일정이 존재하지 않습니다.\",\n    \"ErrorType: class com.example.scheduleappserverjpa.exception.DataNotFoundException\",\n    \"ErrorClass: com.example.scheduleappserverjpa.repository.PlanRepository\",\n    \"ErrorMethod: validateExistenceById\",\n    \"HttpStatus: NOT_FOUND\"\n]"},{"id":"436b9a99-acd0-4ca2-a3cc-3a333afb36a6","name":"댓글삭제 실패 (403)","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pwd\" : \"pwd\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/plans/{planId}/comments/{commentId}"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"37"},{"key":"Date","value":"Thu, 03 Apr 2025 02:31:35 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"로그인 후 이용 가능합니다."}],"_postman_id":"9f4f2bce-826b-4de4-a857-a5af589cb8ba"}],"id":"409d235e-d039-46fc-b3fb-000d62e217a9","description":"<p><strong>Comment 엔터티는 일정(Plan)에 대한 사용자 댓글을 저장하는 테이블입니다.</strong></p>\n<ul>\n<li><p><code>id</code> (Long) : 댓글의 고유 식별자 (자동 증가)</p>\n</li>\n<li><p><code>content</code> (String) : 댓글 내용 (필수 입력)</p>\n</li>\n<li><p><code>user</code> (User) : 댓글 작성자 (<code>user_id</code>를 외래 키로 가짐, 사용자 삭제 시 해당 댓글도 삭제됨)</p>\n</li>\n<li><p><code>plan</code> (Plan) : 댓글이 작성된 일정 (<code>plan_id</code>를 외래 키로 가짐, 일정 삭제 시 해당 댓글도 삭제됨)</p>\n</li>\n<li><p><code>createdAt</code> (LocalDateTime) : 엔터티가 생성된 시간 (수정 불가)</p>\n</li>\n<li><p><code>updatedAt</code> (LocalDateTime) : 엔터티가 마지막으로 수정된 시간</p>\n</li>\n</ul>\n","_postman_id":"409d235e-d039-46fc-b3fb-000d62e217a9"}]}