News API.postman_collection.json 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. {
  2. "info": {
  3. "name": "bitForum - News API",
  4. "description": "bitForum 뉴스 API 컬렉션\n\nBase URL: https://api.bitforum.io",
  5. "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  6. },
  7. "variable": [
  8. {
  9. "key": "baseUrl",
  10. "value": "https://localhost:4000",
  11. "type": "string"
  12. }
  13. ],
  14. "item": [
  15. {
  16. "name": "기사 목록 조회",
  17. "request": {
  18. "method": "GET",
  19. "header": [],
  20. "url": {
  21. "raw": "{{baseUrl}}/api/news/articles?page=1&perPage=20",
  22. "host": ["{{baseUrl}}"],
  23. "path": ["api", "news", "articles"],
  24. "query": [
  25. {
  26. "key": "page",
  27. "value": "1",
  28. "description": "페이지 번호 (기본값: 1)"
  29. },
  30. {
  31. "key": "perPage",
  32. "value": "20",
  33. "description": "페이지당 건수 (기본값: 20)"
  34. },
  35. {
  36. "key": "rssFeedSourceID",
  37. "value": "",
  38. "description": "RSS 소스 ID 필터 (선택)",
  39. "disabled": true
  40. },
  41. {
  42. "key": "keyword",
  43. "value": "",
  44. "description": "제목/내용 검색어 (선택)",
  45. "disabled": true
  46. }
  47. ]
  48. },
  49. "description": "수집된 뉴스 기사 목록을 페이징하여 조회합니다.\n\n선택적으로 RSS 소스 ID나 키워드로 필터링할 수 있습니다."
  50. },
  51. "response": [
  52. {
  53. "name": "200 OK",
  54. "status": "OK",
  55. "code": 200,
  56. "header": [
  57. {
  58. "key": "Content-Type",
  59. "value": "application/json"
  60. }
  61. ],
  62. "body": "{\n \"success\": true,\n \"status\": 200,\n \"message\": null,\n \"data\": {\n \"total\": 42,\n \"list\": [\n {\n \"id\": 1,\n \"rssFeedSourceID\": 1,\n \"feedSourceName\": \"CoinDesk RSS\",\n \"title\": \"Bitcoin Surges Past $100K\",\n \"link\": \"https://example.com/article/1\",\n \"author\": \"John Doe\",\n \"description\": \"Bitcoin has surged past the $100,000 mark...\",\n \"imageUrl\": \"https://example.com/images/btc.jpg\",\n \"sourceName\": \"CoinDesk\",\n \"categories\": \"Bitcoin,Markets\",\n \"commentCount\": 5,\n \"publishedAt\": \"2026-03-14T09:00:00Z\",\n \"createdAt\": \"2026-03-14T09:05:00Z\"\n }\n ]\n },\n \"errors\": null\n}"
  63. }
  64. ]
  65. },
  66. {
  67. "name": "기사 상세 조회",
  68. "request": {
  69. "method": "GET",
  70. "header": [],
  71. "url": {
  72. "raw": "{{baseUrl}}/api/news/articles/1",
  73. "host": ["{{baseUrl}}"],
  74. "path": ["api", "news", "articles", "1"]
  75. },
  76. "description": "특정 뉴스 기사의 상세 정보를 조회합니다.\n\n목록 조회 대비 guid, content 필드가 추가로 포함됩니다."
  77. },
  78. "response": [
  79. {
  80. "name": "200 OK",
  81. "status": "OK",
  82. "code": 200,
  83. "header": [
  84. {
  85. "key": "Content-Type",
  86. "value": "application/json"
  87. }
  88. ],
  89. "body": "{\n \"success\": true,\n \"status\": 200,\n \"message\": null,\n \"data\": {\n \"id\": 1,\n \"rssFeedSourceID\": 1,\n \"feedSourceName\": \"CoinDesk RSS\",\n \"title\": \"Bitcoin Surges Past $100K\",\n \"link\": \"https://example.com/article/1\",\n \"guid\": \"https://example.com/article/1\",\n \"author\": \"John Doe\",\n \"description\": \"Bitcoin has surged past the $100,000 mark...\",\n \"content\": \"<p>Bitcoin has surged past the $100,000 mark for the first time...</p>\",\n \"imageUrl\": \"https://example.com/images/btc.jpg\",\n \"sourceName\": \"CoinDesk\",\n \"categories\": \"Bitcoin,Markets\",\n \"commentCount\": 5,\n \"publishedAt\": \"2026-03-14T09:00:00Z\",\n \"createdAt\": \"2026-03-14T09:05:00Z\"\n },\n \"errors\": null\n}"
  90. },
  91. {
  92. "name": "404 Not Found",
  93. "status": "Not Found",
  94. "code": 404,
  95. "header": [
  96. {
  97. "key": "Content-Type",
  98. "value": "application/json"
  99. }
  100. ],
  101. "body": "{\n \"success\": false,\n \"status\": 404,\n \"message\": \"뉴스 기사를 찾을 수 없습니다.\",\n \"data\": null,\n \"errors\": null\n}"
  102. }
  103. ]
  104. },
  105. {
  106. "name": "RSS 소스 목록 조회",
  107. "request": {
  108. "method": "GET",
  109. "header": [],
  110. "url": {
  111. "raw": "{{baseUrl}}/api/news/sources",
  112. "host": ["{{baseUrl}}"],
  113. "path": ["api", "news", "sources"]
  114. },
  115. "description": "활성화된 RSS 피드 소스 목록을 조회합니다."
  116. },
  117. "response": [
  118. {
  119. "name": "200 OK",
  120. "status": "OK",
  121. "code": 200,
  122. "header": [
  123. {
  124. "key": "Content-Type",
  125. "value": "application/json"
  126. }
  127. ],
  128. "body": "{\n \"success\": true,\n \"status\": 200,\n \"message\": null,\n \"data\": {\n \"sources\": [\n {\n \"id\": 1,\n \"name\": \"CoinDesk RSS\",\n \"url\": \"https://www.coindesk.com/arc/outboundfeeds/rss/\",\n \"description\": \"CoinDesk 암호화폐 뉴스\",\n \"isActive\": true,\n \"lastFetchedAt\": \"2026-03-14T09:00:00Z\"\n },\n {\n \"id\": 2,\n \"name\": \"CoinTelegraph RSS\",\n \"url\": \"https://cointelegraph.com/rss\",\n \"description\": \"CoinTelegraph 뉴스 피드\",\n \"isActive\": true,\n \"lastFetchedAt\": \"2026-03-14T08:45:00Z\"\n }\n ]\n },\n \"errors\": null\n}"
  129. }
  130. ]
  131. }
  132. ]
  133. }