Forum.postman_collection.json 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903
  1. {
  2. "info": {
  3. "_postman_id": "ca448a27-03a1-4ea8-adc6-a0870d15f02e",
  4. "name": "Forum",
  5. "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
  6. "_exporter_id": "40701166"
  7. },
  8. "item": [
  9. {
  10. "name": "Board",
  11. "item": [
  12. {
  13. "name": "게시판 목록",
  14. "request": {
  15. "auth": {
  16. "type": "noauth"
  17. },
  18. "method": "GET",
  19. "header": [],
  20. "url": {
  21. "raw": "{{baseUrl}}/api/forum/boards?page=1&perPage=20&boardGroupID=1",
  22. "host": [
  23. "{{baseUrl}}"
  24. ],
  25. "path": [
  26. "api",
  27. "forum",
  28. "boards"
  29. ],
  30. "query": [
  31. {
  32. "key": "page",
  33. "value": "1"
  34. },
  35. {
  36. "key": "perPage",
  37. "value": "20"
  38. },
  39. {
  40. "key": "boardGroupID",
  41. "value": "1"
  42. },
  43. {
  44. "key": "boardGroupCode",
  45. "value": "",
  46. "disabled": true
  47. },
  48. {
  49. "key": "keyword",
  50. "value": "",
  51. "disabled": true
  52. }
  53. ]
  54. },
  55. "description": "게시판 목록을 조회합니다. boardGroupID 또는 boardGroupCode로 필터링 가능."
  56. },
  57. "response": []
  58. },
  59. {
  60. "name": "게시판 상세 조회",
  61. "request": {
  62. "auth": {
  63. "type": "noauth"
  64. },
  65. "method": "GET",
  66. "header": [],
  67. "url": {
  68. "raw": "{{baseUrl}}/api/forum/boards/free",
  69. "host": [
  70. "{{baseUrl}}"
  71. ],
  72. "path": [
  73. "api",
  74. "forum",
  75. "boards",
  76. "free"
  77. ]
  78. },
  79. "description": "게시판 코드로 상세 정보를 조회합니다."
  80. },
  81. "response": []
  82. },
  83. {
  84. "name": "게시판 메타 조회",
  85. "request": {
  86. "auth": {
  87. "type": "noauth"
  88. },
  89. "method": "GET",
  90. "header": [],
  91. "url": {
  92. "raw": "{{baseUrl}}/api/forum/boards/1/meta",
  93. "host": [
  94. "{{baseUrl}}"
  95. ],
  96. "path": [
  97. "api",
  98. "forum",
  99. "boards",
  100. "1",
  101. "meta"
  102. ]
  103. },
  104. "description": "게시판 ID로 메타(속성) 정보를 조회합니다."
  105. },
  106. "response": []
  107. }
  108. ]
  109. },
  110. {
  111. "name": "Post",
  112. "item": [
  113. {
  114. "name": "게시글 검색",
  115. "request": {
  116. "auth": {
  117. "type": "noauth"
  118. },
  119. "method": "GET",
  120. "header": [],
  121. "url": {
  122. "raw": "{{baseUrl}}/api/forum/posts?boardID=1&page=1&perPage=20",
  123. "host": [
  124. "{{baseUrl}}"
  125. ],
  126. "path": [
  127. "api",
  128. "forum",
  129. "posts"
  130. ],
  131. "query": [
  132. {
  133. "key": "boardID",
  134. "value": "1"
  135. },
  136. {
  137. "key": "boardPrefixID",
  138. "value": "",
  139. "disabled": true
  140. },
  141. {
  142. "key": "search",
  143. "value": "",
  144. "disabled": true
  145. },
  146. {
  147. "key": "keyword",
  148. "value": "",
  149. "disabled": true
  150. },
  151. {
  152. "key": "startAt",
  153. "value": "",
  154. "disabled": true
  155. },
  156. {
  157. "key": "endAt",
  158. "value": "",
  159. "disabled": true
  160. },
  161. {
  162. "key": "sort",
  163. "value": "",
  164. "disabled": true
  165. },
  166. {
  167. "key": "isNotice",
  168. "value": "",
  169. "disabled": true
  170. },
  171. {
  172. "key": "isSecret",
  173. "value": "",
  174. "disabled": true
  175. },
  176. {
  177. "key": "isReply",
  178. "value": "",
  179. "disabled": true
  180. },
  181. {
  182. "key": "isDeleted",
  183. "value": "",
  184. "disabled": true
  185. },
  186. {
  187. "key": "page",
  188. "value": "1"
  189. },
  190. {
  191. "key": "perPage",
  192. "value": "20"
  193. }
  194. ]
  195. },
  196. "description": "게시글 목록을 검색합니다. 다양한 필터 및 정렬 옵션 지원."
  197. },
  198. "response": []
  199. },
  200. {
  201. "name": "게시글 보기",
  202. "request": {
  203. "auth": {
  204. "type": "noauth"
  205. },
  206. "method": "GET",
  207. "header": [],
  208. "url": {
  209. "raw": "{{baseUrl}}/api/forum/posts/1",
  210. "host": [
  211. "{{baseUrl}}"
  212. ],
  213. "path": [
  214. "api",
  215. "forum",
  216. "posts",
  217. "1"
  218. ]
  219. },
  220. "description": "게시글 상세를 조회합니다. 조회수가 증가됩니다."
  221. },
  222. "response": []
  223. },
  224. {
  225. "name": "게시글 등록",
  226. "request": {
  227. "method": "POST",
  228. "header": [],
  229. "body": {
  230. "mode": "formdata",
  231. "formdata": [
  232. {
  233. "key": "BoardID",
  234. "value": "1",
  235. "type": "text"
  236. },
  237. {
  238. "key": "Subject",
  239. "value": "제목입니다",
  240. "type": "text"
  241. },
  242. {
  243. "key": "Content",
  244. "value": "내용입니다",
  245. "type": "text"
  246. },
  247. {
  248. "key": "IsSecret",
  249. "value": "false",
  250. "type": "text"
  251. },
  252. {
  253. "key": "IsNotice",
  254. "value": "false",
  255. "type": "text"
  256. },
  257. {
  258. "key": "IsSpeaker",
  259. "value": "false",
  260. "type": "text"
  261. },
  262. {
  263. "key": "images",
  264. "type": "file",
  265. "src": ""
  266. },
  267. {
  268. "key": "files",
  269. "type": "file",
  270. "src": ""
  271. }
  272. ]
  273. },
  274. "url": {
  275. "raw": "{{baseUrl}}/api/forum/posts",
  276. "host": [
  277. "{{baseUrl}}"
  278. ],
  279. "path": [
  280. "api",
  281. "forum",
  282. "posts"
  283. ]
  284. },
  285. "description": "게시글을 등록합니다. FormData로 이미지/파일 첨부 가능."
  286. },
  287. "response": []
  288. },
  289. {
  290. "name": "게시글 수정",
  291. "request": {
  292. "method": "PUT",
  293. "header": [],
  294. "body": {
  295. "mode": "formdata",
  296. "formdata": [
  297. {
  298. "key": "Subject",
  299. "value": "수정된 제목",
  300. "type": "text"
  301. },
  302. {
  303. "key": "Content",
  304. "value": "수정된 내용",
  305. "type": "text"
  306. },
  307. {
  308. "key": "IsSecret",
  309. "value": "false",
  310. "type": "text"
  311. },
  312. {
  313. "key": "IsNotice",
  314. "value": "false",
  315. "type": "text"
  316. },
  317. {
  318. "key": "IsSpeaker",
  319. "value": "false",
  320. "type": "text"
  321. }
  322. ]
  323. },
  324. "url": {
  325. "raw": "{{baseUrl}}/api/forum/posts/1",
  326. "host": [
  327. "{{baseUrl}}"
  328. ],
  329. "path": [
  330. "api",
  331. "forum",
  332. "posts",
  333. "1"
  334. ]
  335. },
  336. "description": "게시글을 수정합니다. FormData로 이미지/파일 첨부 가능."
  337. },
  338. "response": []
  339. },
  340. {
  341. "name": "게시글 삭제",
  342. "request": {
  343. "method": "DELETE",
  344. "header": [],
  345. "url": {
  346. "raw": "{{baseUrl}}/api/forum/posts/1",
  347. "host": [
  348. "{{baseUrl}}"
  349. ],
  350. "path": [
  351. "api",
  352. "forum",
  353. "posts",
  354. "1"
  355. ]
  356. },
  357. "description": "게시글을 삭제합니다."
  358. },
  359. "response": []
  360. },
  361. {
  362. "name": "게시글 좋아요/싫어요",
  363. "request": {
  364. "method": "POST",
  365. "header": [],
  366. "body": {
  367. "mode": "raw",
  368. "raw": "{\n \"Reaction\": 0\n}",
  369. "options": {
  370. "raw": {
  371. "language": "json"
  372. }
  373. }
  374. },
  375. "url": {
  376. "raw": "{{baseUrl}}/api/forum/posts/1/reaction",
  377. "host": [
  378. "{{baseUrl}}"
  379. ],
  380. "path": [
  381. "api",
  382. "forum",
  383. "posts",
  384. "1",
  385. "reaction"
  386. ]
  387. },
  388. "description": "게시글에 좋아요/싫어요를 토글합니다. Reaction: 0=좋아요, 1=싫어요"
  389. },
  390. "response": []
  391. },
  392. {
  393. "name": "게시글 즐겨찾기",
  394. "request": {
  395. "method": "POST",
  396. "header": [],
  397. "url": {
  398. "raw": "{{baseUrl}}/api/forum/posts/1/bookmark",
  399. "host": [
  400. "{{baseUrl}}"
  401. ],
  402. "path": [
  403. "api",
  404. "forum",
  405. "posts",
  406. "1",
  407. "bookmark"
  408. ]
  409. },
  410. "description": "게시글 즐겨찾기를 토글합니다."
  411. },
  412. "response": []
  413. },
  414. {
  415. "name": "게시글 신고",
  416. "request": {
  417. "method": "POST",
  418. "header": [],
  419. "body": {
  420. "mode": "raw",
  421. "raw": "{\n \"Type\": 0,\n \"Reason\": \"신고 사유입니다\"\n}",
  422. "options": {
  423. "raw": {
  424. "language": "json"
  425. }
  426. }
  427. },
  428. "url": {
  429. "raw": "{{baseUrl}}/api/forum/posts/1/report",
  430. "host": [
  431. "{{baseUrl}}"
  432. ],
  433. "path": [
  434. "api",
  435. "forum",
  436. "posts",
  437. "1",
  438. "report"
  439. ]
  440. },
  441. "description": "게시글을 신고합니다."
  442. },
  443. "response": []
  444. },
  445. {
  446. "name": "링크 클릭",
  447. "request": {
  448. "auth": {
  449. "type": "noauth"
  450. },
  451. "method": "POST",
  452. "header": [],
  453. "url": {
  454. "raw": "{{baseUrl}}/api/forum/posts/links/1/click",
  455. "host": [
  456. "{{baseUrl}}"
  457. ],
  458. "path": [
  459. "api",
  460. "forum",
  461. "posts",
  462. "links",
  463. "1",
  464. "click"
  465. ]
  466. },
  467. "description": "게시글 내 링크 클릭을 기록하고 리다이렉트 URL을 반환합니다."
  468. },
  469. "response": []
  470. },
  471. {
  472. "name": "첨부파일 다운로드",
  473. "request": {
  474. "auth": {
  475. "type": "noauth"
  476. },
  477. "method": "GET",
  478. "header": [],
  479. "url": {
  480. "raw": "{{baseUrl}}/api/forum/post/file/00000000-0000-0000-0000-000000000000",
  481. "host": [
  482. "{{baseUrl}}"
  483. ],
  484. "path": [
  485. "api",
  486. "forum",
  487. "post",
  488. "file",
  489. "00000000-0000-0000-0000-000000000000"
  490. ]
  491. },
  492. "description": "게시글 첨부파일을 다운로드합니다. UUID로 파일을 식별합니다."
  493. },
  494. "response": []
  495. }
  496. ]
  497. },
  498. {
  499. "name": "Comment",
  500. "item": [
  501. {
  502. "name": "댓글 목록 (게시글별)",
  503. "request": {
  504. "auth": {
  505. "type": "noauth"
  506. },
  507. "method": "GET",
  508. "header": [],
  509. "url": {
  510. "raw": "{{baseUrl}}/api/forum/posts/1/comments?page=1&perPage=20&sort=0",
  511. "host": [
  512. "{{baseUrl}}"
  513. ],
  514. "path": [
  515. "api",
  516. "forum",
  517. "posts",
  518. "1",
  519. "comments"
  520. ],
  521. "query": [
  522. {
  523. "key": "page",
  524. "value": "1"
  525. },
  526. {
  527. "key": "perPage",
  528. "value": "20"
  529. },
  530. {
  531. "key": "sort",
  532. "value": "0",
  533. "description": "정렬 (0=최신순)"
  534. }
  535. ]
  536. },
  537. "description": "특정 게시글의 댓글 목록을 조회합니다."
  538. },
  539. "response": []
  540. },
  541. {
  542. "name": "댓글 검색",
  543. "request": {
  544. "auth": {
  545. "type": "noauth"
  546. },
  547. "method": "GET",
  548. "header": [],
  549. "url": {
  550. "raw": "{{baseUrl}}/api/forum/comments?page=1&perPage=20",
  551. "host": [
  552. "{{baseUrl}}"
  553. ],
  554. "path": [
  555. "api",
  556. "forum",
  557. "comments"
  558. ],
  559. "query": [
  560. {
  561. "key": "boardID",
  562. "value": "",
  563. "disabled": true
  564. },
  565. {
  566. "key": "postID",
  567. "value": "",
  568. "disabled": true
  569. },
  570. {
  571. "key": "search",
  572. "value": "",
  573. "disabled": true
  574. },
  575. {
  576. "key": "keyword",
  577. "value": "",
  578. "disabled": true
  579. },
  580. {
  581. "key": "startAt",
  582. "value": "",
  583. "disabled": true
  584. },
  585. {
  586. "key": "endAt",
  587. "value": "",
  588. "disabled": true
  589. },
  590. {
  591. "key": "isDeleted",
  592. "value": "",
  593. "disabled": true
  594. },
  595. {
  596. "key": "page",
  597. "value": "1"
  598. },
  599. {
  600. "key": "perPage",
  601. "value": "20"
  602. }
  603. ]
  604. },
  605. "description": "댓글을 검색합니다. 게시판/게시글/키워드/기간 등으로 필터링 가능."
  606. },
  607. "response": []
  608. },
  609. {
  610. "name": "댓글 상세 조회",
  611. "request": {
  612. "auth": {
  613. "type": "noauth"
  614. },
  615. "method": "GET",
  616. "header": [],
  617. "url": {
  618. "raw": "{{baseUrl}}/api/forum/comments/1",
  619. "host": [
  620. "{{baseUrl}}"
  621. ],
  622. "path": [
  623. "api",
  624. "forum",
  625. "comments",
  626. "1"
  627. ]
  628. },
  629. "description": "댓글 상세를 조회합니다."
  630. },
  631. "response": []
  632. },
  633. {
  634. "name": "멘션 후보 조회",
  635. "request": {
  636. "auth": {
  637. "type": "noauth"
  638. },
  639. "method": "GET",
  640. "header": [],
  641. "url": {
  642. "raw": "{{baseUrl}}/api/forum/comments/mention?postID=1",
  643. "host": [
  644. "{{baseUrl}}"
  645. ],
  646. "path": [
  647. "api",
  648. "forum",
  649. "comments",
  650. "mention"
  651. ],
  652. "query": [
  653. {
  654. "key": "postID",
  655. "value": "1",
  656. "description": "게시글 ID (필수)"
  657. },
  658. {
  659. "key": "keyword",
  660. "value": "",
  661. "disabled": true,
  662. "description": "검색어"
  663. }
  664. ]
  665. },
  666. "description": "댓글 멘션(@) 자동완성 후보 목록을 조회합니다."
  667. },
  668. "response": []
  669. },
  670. {
  671. "name": "댓글 등록",
  672. "request": {
  673. "method": "POST",
  674. "header": [],
  675. "body": {
  676. "mode": "formdata",
  677. "formdata": [
  678. {
  679. "key": "PostID",
  680. "value": "1",
  681. "type": "text"
  682. },
  683. {
  684. "key": "Content",
  685. "value": "댓글 내용입니다",
  686. "type": "text"
  687. },
  688. {
  689. "key": "IsSecret",
  690. "value": "false",
  691. "type": "text"
  692. },
  693. {
  694. "key": "ParentID",
  695. "value": "",
  696. "type": "text",
  697. "disabled": true
  698. },
  699. {
  700. "key": "Mention",
  701. "value": "",
  702. "type": "text",
  703. "disabled": true
  704. }
  705. ]
  706. },
  707. "url": {
  708. "raw": "{{baseUrl}}/api/forum/comments",
  709. "host": [
  710. "{{baseUrl}}"
  711. ],
  712. "path": [
  713. "api",
  714. "forum",
  715. "comments"
  716. ]
  717. },
  718. "description": "댓글을 등록합니다. FormData로 이미지/파일 첨부 가능."
  719. },
  720. "response": []
  721. },
  722. {
  723. "name": "댓글 수정",
  724. "request": {
  725. "method": "PUT",
  726. "header": [],
  727. "body": {
  728. "mode": "formdata",
  729. "formdata": [
  730. {
  731. "key": "Content",
  732. "value": "수정된 댓글 내용",
  733. "type": "text"
  734. },
  735. {
  736. "key": "IsSecret",
  737. "value": "false",
  738. "type": "text"
  739. }
  740. ]
  741. },
  742. "url": {
  743. "raw": "{{baseUrl}}/api/forum/comments/1",
  744. "host": [
  745. "{{baseUrl}}"
  746. ],
  747. "path": [
  748. "api",
  749. "forum",
  750. "comments",
  751. "1"
  752. ]
  753. },
  754. "description": "댓글을 수정합니다. FormData로 이미지/파일 첨부 가능."
  755. },
  756. "response": []
  757. },
  758. {
  759. "name": "댓글 삭제",
  760. "request": {
  761. "method": "DELETE",
  762. "header": [],
  763. "url": {
  764. "raw": "{{baseUrl}}/api/forum/comments/1",
  765. "host": [
  766. "{{baseUrl}}"
  767. ],
  768. "path": [
  769. "api",
  770. "forum",
  771. "comments",
  772. "1"
  773. ]
  774. },
  775. "description": "댓글을 삭제합니다."
  776. },
  777. "response": []
  778. },
  779. {
  780. "name": "댓글 좋아요/싫어요",
  781. "request": {
  782. "method": "POST",
  783. "header": [],
  784. "body": {
  785. "mode": "raw",
  786. "raw": "{\n \"Reaction\": 0\n}",
  787. "options": {
  788. "raw": {
  789. "language": "json"
  790. }
  791. }
  792. },
  793. "url": {
  794. "raw": "{{baseUrl}}/api/forum/comments/1/reaction",
  795. "host": [
  796. "{{baseUrl}}"
  797. ],
  798. "path": [
  799. "api",
  800. "forum",
  801. "comments",
  802. "1",
  803. "reaction"
  804. ]
  805. },
  806. "description": "댓글에 좋아요/싫어요를 토글합니다. Reaction: 0=좋아요, 1=싫어요"
  807. },
  808. "response": []
  809. },
  810. {
  811. "name": "댓글 신고",
  812. "request": {
  813. "method": "POST",
  814. "header": [],
  815. "body": {
  816. "mode": "raw",
  817. "raw": "{\n \"Type\": 0,\n \"Reason\": \"신고 사유입니다\"\n}",
  818. "options": {
  819. "raw": {
  820. "language": "json"
  821. }
  822. }
  823. },
  824. "url": {
  825. "raw": "{{baseUrl}}/api/forum/comments/1/report",
  826. "host": [
  827. "{{baseUrl}}"
  828. ],
  829. "path": [
  830. "api",
  831. "forum",
  832. "comments",
  833. "1",
  834. "report"
  835. ]
  836. },
  837. "description": "댓글을 신고합니다."
  838. },
  839. "response": []
  840. },
  841. {
  842. "name": "댓글 첨부파일 다운로드",
  843. "request": {
  844. "auth": {
  845. "type": "noauth"
  846. },
  847. "method": "GET",
  848. "header": [],
  849. "url": {
  850. "raw": "{{baseUrl}}/api/forum/comment/file/00000000-0000-0000-0000-000000000000",
  851. "host": [
  852. "{{baseUrl}}"
  853. ],
  854. "path": [
  855. "api",
  856. "forum",
  857. "comment",
  858. "file",
  859. "00000000-0000-0000-0000-000000000000"
  860. ]
  861. },
  862. "description": "댓글 첨부파일을 다운로드합니다. UUID로 파일을 식별합니다."
  863. },
  864. "response": []
  865. }
  866. ]
  867. }
  868. ],
  869. "auth": {
  870. "type": "bearer",
  871. "bearer": [
  872. {
  873. "key": "token",
  874. "value": "{{accessToken}}",
  875. "type": "string"
  876. }
  877. ]
  878. },
  879. "event": [
  880. {
  881. "listen": "prerequest",
  882. "script": {
  883. "type": "text/javascript",
  884. "packages": {},
  885. "requests": {},
  886. "exec": [
  887. ""
  888. ]
  889. }
  890. },
  891. {
  892. "listen": "test",
  893. "script": {
  894. "type": "text/javascript",
  895. "packages": {},
  896. "requests": {},
  897. "exec": [
  898. ""
  899. ]
  900. }
  901. }
  902. ]
  903. }