{"id":83,"date":"2026-06-26T13:32:24","date_gmt":"2026-06-26T13:32:24","guid":{"rendered":"https:\/\/aabbee.cafe24.com\/?p=83"},"modified":"2026-06-26T13:32:24","modified_gmt":"2026-06-26T13:32:24","slug":"category-errorpage","status":"publish","type":"post","link":"https:\/\/coalacoding.com\/?p=83","title":{"rendered":"Category, ErrorPage \uc644\uc131\ud558\uae30"},"content":{"rendered":"<blockquote>\n<p><strong>Tip<\/strong>: <strong>Gemini CLI\ub85c \uad6c\ud604\ud558\uae30 \u2014 Category \ud398\uc774\uc9c0\ub124\uc774\uc158 &amp; ErrorPage<\/strong><\/p>\n<ul>\n<li><strong>\ud504\ub86c\ud504\ud2b8:<\/strong> <code>gemini &quot;src\/components\/Category.jsx\uc640 ErrorPage.jsx\ub97c \uc791\uc131\ud574\uc918. Category\ub294 useParams\ub85c type(now_playing, popular, top_rated)\uc744 \ubc1b\uc544\uc11c TMDB API movie\/[type]?page=[page]\ub97c \ud638\ucd9c\ud558\uace0, \uc774\uc804\/\ub2e4\uc74c \ubc84\ud2bc\uc73c\ub85c \ud398\uc774\uc9c0\ub124\uc774\uc158\uc744 \uad6c\ud604\ud574\uc918. \ucd5c\ub300 \ud398\uc774\uc9c0\ub294 [\ucd5c\ub300 \ud398\uc774\uc9c0 \uc218]\uc73c\ub85c \uc81c\ud55c\ud574\uc918. ErrorPage\ub294 404 \uba54\uc2dc\uc9c0\uc640 \ud648\uc73c\ub85c \ub3cc\uc544\uac00\uae30 Link\ub97c \ud3ec\ud568\ud574\uc918.&quot;<\/code>\n<ul>\n<li><strong>\uc0ac\uc6a9 \uac00\uc774\ub4dc:<\/strong> <code>[\ucd5c\ub300 \ud398\uc774\uc9c0 \uc218]<\/code>\ub97c \uc6d0\ud558\ub294 \uc22b\uc790(\uae30\ubcf8: 20)\ub85c \ubc14\uafbc\ub2e4. \uce74\ud14c\uace0\ub9ac \ud55c\uae00 \uc774\ub984\uc774 \ud544\uc694\ud558\uba74 \ud504\ub86c\ud504\ud2b8\uc5d0 &quot;\uce74\ud14c\uace0\ub9ac \ud0a4\ub97c \ud55c\uae00\ub85c \ubcc0\ud658\ud558\ub294 \ub9e4\ud551 \uac1d\uccb4\ub3c4 \ucd94\uac00\ud574\uc918&quot;\ub97c \ub367\ubd99\uc778\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/blockquote>\n<h2>1. \uc774\ubc88 \ud3b8\uc5d0\uc11c \ub9cc\ub4e4 \uac83<\/h2>\n<table>\n<thead>\n<tr>\n<th align=\"left\">\ucef4\ud3ec\ub10c\ud2b8<\/th>\n<th align=\"left\">\uae30\ub2a5<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\"><code>ErrorPage<\/code><\/td>\n<td align=\"left\">404 \ub4f1 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294 URL \ucc98\ub9ac<\/td>\n<\/tr>\n<tr>\n<td align=\"left\"><code>Category<\/code><\/td>\n<td align=\"left\">\uce74\ud14c\uace0\ub9ac\ubcc4 \uc601\ud654 \ubaa9\ub85d + \ud398\uc774\uc9c0\ub124\uc774\uc158<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr>\n<h2>2. ErrorPage \u2014 \uc5d0\ub7ec \ud398\uc774\uc9c0<\/h2>\n<p><code>src\/components\/ErrorPage.jsx<\/code> \ud30c\uc77c\uc744 \uc5f4\uace0 \uc784\uc2dc \ucf54\ub4dc\ub97c <strong>\ubaa8\ub450 \uc9c0\uc6b4 \ub4a4<\/strong> \uc544\ub798\ub85c \uad50\uccb4\ud55c\ub2e4. \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294 URL\ub85c \uc811\uc18d\ud588\uc744 \ub54c \ubcf4\uc5ec\uc8fc\ub294 \ud398\uc774\uc9c0\uc774\ub2e4.<\/p>\n<pre><code class=\"language-jsx\">import { Link } from &quot;react-router&quot;;\n\nexport function ErrorPage() {\n  return (\n    &lt;div className=&quot;bg-black min-h-screen flex flex-col items-center justify-center text-center px-6&quot;&gt;\n      &lt;h1 className=&quot;text-8xl font-bold text-yellow-400&quot;&gt;404&lt;\/h1&gt;\n      &lt;p className=&quot;text-white text-2xl mt-4&quot;&gt;\ud398\uc774\uc9c0\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4&lt;\/p&gt;\n      &lt;p className=&quot;text-gray-400 mt-2&quot;&gt;\uc694\uccad\ud558\uc2e0 \ud398\uc774\uc9c0\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uac70\ub098 \uc774\ub3d9\ub418\uc5c8\uc2b5\ub2c8\ub2e4.&lt;\/p&gt;\n      &lt;Link\n        to=&quot;\/&quot;\n        className=&quot;mt-8 bg-yellow-400 text-black px-6 py-3 rounded-lg font-bold hover:bg-yellow-300 transition-colors&quot;\n      &gt;\n        \ud648\uc73c\ub85c \ub3cc\uc544\uac00\uae30\n      &lt;\/Link&gt;\n    &lt;\/div&gt;\n  );\n}\n<\/code><\/pre>\n<table>\n<thead>\n<tr>\n<th align=\"left\">\uc904<\/th>\n<th align=\"left\">\uc124\uba85<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">1<\/td>\n<td align=\"left\"><code>Link<\/code>\ub85c \ud648 \ud398\uc774\uc9c0 \uc774\ub3d9 \ubc84\ud2bc\uc744 \ub9cc\ub4e0\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">6<\/td>\n<td align=\"left\">\uc0c1\ud0dc \ucf54\ub4dc <code>404<\/code>\ub97c \uace0\uc815\uc73c\ub85c \ud45c\uc2dc\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">11-15<\/td>\n<td align=\"left\"><code>to=&quot;\/&quot;<\/code> \u2014 \ubc84\ud2bc \ud074\ub9ad \uc2dc \ud648\uc73c\ub85c \uc774\ub3d9\ud55c\ub2e4.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr>\n<h2>3. Category \u2014 \uce74\ud14c\uace0\ub9ac + \ud398\uc774\uc9c0\ub124\uc774\uc158<\/h2>\n<p><code>src\/components\/Category.jsx<\/code> \ud30c\uc77c\uc744 \uc5f4\uace0 \uc784\uc2dc \ucf54\ub4dc\ub97c <strong>\ubaa8\ub450 \uc9c0\uc6b4 \ub4a4<\/strong> \uc791\uc131\ud55c\ub2e4. \uc774 \ucef4\ud3ec\ub10c\ud2b8\ub294 &quot;\uc778\uae30 \uc601\ud654&quot;, &quot;\ud604\uc7ac \uc0c1\uc601\uc791&quot; \ub4f1 \uce74\ud14c\uace0\ub9ac\ubcc4 \uc601\ud654 \ubaa9\ub85d\uc744 \ubcf4\uc5ec\uc8fc\ub294 \ud398\uc774\uc9c0\uc774\ub2e4. \ud55c \ud398\uc774\uc9c0\uc5d0 20\ud3b8\uc529 \ud45c\uc2dc\ud558\uace0, &quot;\uc774\uc804&quot;\/&quot;\ub2e4\uc74c&quot; \ubc84\ud2bc\uc73c\ub85c <strong>\ucc45\uc7a5\uc744 \ub118\uae30\ub4ef<\/strong> \ub2e4\ub978 \ud398\uc774\uc9c0\ub97c \ubcfc \uc218 \uc788\ub2e4.<\/p>\n<h4>import + \uc0c1\ud0dc + API \ud638\ucd9c<\/h4>\n<pre><code class=\"language-jsx\">import { useState, useEffect } from &quot;react&quot;;\nimport { useParams } from &quot;react-router&quot;;\nimport { Card } from &quot;.\/Card.jsx&quot;;\nimport api from &quot;..\/api\/axios&quot;;\nimport { Spinner, Container, Button } from &quot;.\/UI.jsx&quot;;\n\nconst TITLES = {\n  now_playing: &quot;\ud604\uc7ac \uc0c1\uc601\uc791&quot;,\n  popular: &quot;\uc778\uae30 \uc601\ud654&quot;,\n  top_rated: &quot;\ucd5c\uace0 \ud3c9\uc810&quot;,\n};\n\nexport function Category() {\n  const { type } = useParams();\n  const [page, setPage] = useState(1);\n  const [totalPages, setTotalPages] = useState(1);\n  const [data, setData] = useState({ type: &quot;&quot;, page: 0, movies: [] });\n\n  useEffect(() =&gt; {\n    api\n      .get(`movie\/${type}`, { params: { page: page } })\n      .then((res) =&gt; {\n        let pages = res.data.total_pages;\n        if (pages &gt; 20) {\n          pages = 20;\n        }\n        setTotalPages(pages);\n        setData({ type: type, page: page, movies: res.data.results.filter((m) =&gt; m.poster_path) });\n      })\n      .catch(() =&gt; {\n        setData({ type: type, page: page, movies: [] });\n      });\n  }, [type, page]);\n\n  const loading = data.type !== type || data.page !== page;\n<\/code><\/pre>\n<table>\n<thead>\n<tr>\n<th align=\"left\">\uc904<\/th>\n<th align=\"left\">\uc124\uba85<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">7-11<\/td>\n<td align=\"left\"><code>TITLES<\/code> \uac1d\uccb4\ub85c \uc601\uc5b4 \uce74\ud14c\uace0\ub9ac \ud0a4\ub97c \ud55c\uae00 \uc81c\ubaa9\uc73c\ub85c \ubcc0\ud658\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">14<\/td>\n<td align=\"left\"><code>useParams()<\/code>\ub85c URL\uc5d0\uc11c <code>:type<\/code> \uac12(<code>popular<\/code>, <code>now_playing<\/code>, <code>top_rated<\/code>)\uc744 \uaebc\ub0b8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">15<\/td>\n<td align=\"left\"><code>page<\/code> \u2014 \ud604\uc7ac \ud398\uc774\uc9c0 \ubc88\ud638\uc774\ub2e4. &quot;\uc774\uc804&quot;\/&quot;\ub2e4\uc74c&quot; \ubc84\ud2bc\uc73c\ub85c \ubcc0\uacbd\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">21<\/td>\n<td align=\"left\"><code>{ params: { page: page } }<\/code>\ub85c TMDB\uc5d0 \ud398\uc774\uc9c0 \ubc88\ud638\ub97c \uc804\ub2ec\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">24-25<\/td>\n<td align=\"left\">TMDB\uac00 \ubc18\ud658\ud558\ub294 <code>total_pages<\/code>\uac00 \ub108\ubb34 \ud06c\uba74 20\ud398\uc774\uc9c0\ub85c \uc81c\ud55c\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">33<\/td>\n<td align=\"left\"><code>[type, page]<\/code> \u2014 <code>type<\/code>\uc774\ub098 <code>page<\/code>\uac00 \ubc14\ub014 \ub54c\ub9c8\ub2e4 API\ub97c \ub2e4\uc2dc \ud638\ucd9c\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">35<\/td>\n<td align=\"left\">\ud604\uc7ac <code>type<\/code>+<code>page<\/code>\uc640 <code>data<\/code>\uc758 <code>type<\/code>+<code>page<\/code>\uac00 \ub2e4\ub974\uba74 \ub85c\ub529 \uc911\uc774\ub2e4.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>JSX + \ud398\uc774\uc9c0\ub124\uc774\uc158 \ubc84\ud2bc<\/h4>\n<pre><code class=\"language-jsx\">  function goPrev() {\n    if (page &gt; 1) {\n      setPage(page - 1);\n    }\n  }\n\n  function goNext() {\n    if (page &lt; totalPages) {\n      setPage(page + 1);\n    }\n  }\n\n  const title = TITLES[type] || type;\n\n  return (\n    &lt;Container className=&quot;min-h-screen pt-28 pb-16&quot;&gt;\n      &lt;h2 className=&quot;text-3xl font-bold text-white mb-8&quot;&gt;{title}&lt;\/h2&gt;\n\n      {loading &amp;&amp; &lt;Spinner \/&gt;}\n\n      {!loading &amp;&amp; (\n        &lt;&gt;\n          &lt;div className=&quot;grid grid-cols-1 sm:grid-cols-2 md:grid-cols-4 gap-6&quot;&gt;\n            {data.movies.map((el) =&gt; (\n              &lt;Card key={el.id} item={el} \/&gt;\n            ))}\n          &lt;\/div&gt;\n\n          &lt;div className=&quot;flex justify-center items-center gap-4 mt-12&quot;&gt;\n            &lt;Button variant=&quot;secondary&quot; onClick={goPrev} disabled={page === 1} className=&quot;px-4 py-2 rounded&quot;&gt;\n              \uc774\uc804\n            &lt;\/Button&gt;\n            &lt;span className=&quot;text-white&quot;&gt;\n              {page} \/ {totalPages}\n            &lt;\/span&gt;\n            &lt;Button variant=&quot;secondary&quot; onClick={goNext} disabled={page === totalPages} className=&quot;px-4 py-2 rounded&quot;&gt;\n              \ub2e4\uc74c\n            &lt;\/Button&gt;\n          &lt;\/div&gt;\n        &lt;\/&gt;\n      )}\n    &lt;\/Container&gt;\n  );\n}\n<\/code><\/pre>\n<table>\n<thead>\n<tr>\n<th align=\"left\">\uc904<\/th>\n<th align=\"left\">\uc124\uba85<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">1-10<\/td>\n<td align=\"left\">&quot;\uc774\uc804&quot;\/&quot;\ub2e4\uc74c&quot; \ubc84\ud2bc\uc758 \ud578\ub4e4\ub7ec\uc774\ub2e4. \ud398\uc774\uc9c0 \ubc94\uc704\ub97c \ubc97\uc5b4\ub098\uc9c0 \uc54a\ub3c4\ub85d \uac80\uc0ac\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">12<\/td>\n<td align=\"left\"><code>TITLES[type]<\/code>\uc73c\ub85c \ud55c\uae00 \uc81c\ubaa9\uc744 \uac00\uc838\uc628\ub2e4. \uc5c6\uc73c\uba74 <code>type<\/code> \uac12 \uadf8\ub300\ub85c \ud45c\uc2dc\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">30<\/td>\n<td align=\"left\"><code>disabled={page === 1}<\/code> \u2014 1\ud398\uc774\uc9c0\uba74 &quot;\uc774\uc804&quot; \ubc84\ud2bc\uc774 \ube44\ud65c\uc131\ud654\ub41c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">36<\/td>\n<td align=\"left\"><code>disabled={page === totalPages}<\/code> \u2014 \ub9c8\uc9c0\ub9c9 \ud398\uc774\uc9c0\uba74 &quot;\ub2e4\uc74c&quot; \ubc84\ud2bc\uc774 \ube44\ud65c\uc131\ud654\ub41c\ub2e4.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr>\n<h2>4. \uc804\uccb4 \ucf54\ub4dc<\/h2>\n<h4>ErrorPage.jsx<\/h4>\n<pre><code class=\"language-jsx\">import { Link } from &quot;react-router&quot;;\n\nexport function ErrorPage() {\n  return (\n    &lt;div className=&quot;bg-black min-h-screen flex flex-col items-center justify-center text-center px-6&quot;&gt;\n      &lt;h1 className=&quot;text-8xl font-bold text-yellow-400&quot;&gt;404&lt;\/h1&gt;\n      &lt;p className=&quot;text-white text-2xl mt-4&quot;&gt;\ud398\uc774\uc9c0\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4&lt;\/p&gt;\n      &lt;p className=&quot;text-gray-400 mt-2&quot;&gt;\uc694\uccad\ud558\uc2e0 \ud398\uc774\uc9c0\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uac70\ub098 \uc774\ub3d9\ub418\uc5c8\uc2b5\ub2c8\ub2e4.&lt;\/p&gt;\n      &lt;Link\n        to=&quot;\/&quot;\n        className=&quot;mt-8 bg-yellow-400 text-black px-6 py-3 rounded-lg font-bold hover:bg-yellow-300 transition-colors&quot;\n      &gt;\n        \ud648\uc73c\ub85c \ub3cc\uc544\uac00\uae30\n      &lt;\/Link&gt;\n    &lt;\/div&gt;\n  );\n}\n<\/code><\/pre>\n<h4>Category.jsx<\/h4>\n<pre><code class=\"language-jsx\">import { useState, useEffect } from &quot;react&quot;;\nimport { useParams } from &quot;react-router&quot;;\nimport { Card } from &quot;.\/Card.jsx&quot;;\nimport api from &quot;..\/api\/axios&quot;;\nimport { Spinner, Container, Button } from &quot;.\/UI.jsx&quot;;\n\nconst TITLES = {\n  now_playing: &quot;\ud604\uc7ac \uc0c1\uc601\uc791&quot;,\n  popular: &quot;\uc778\uae30 \uc601\ud654&quot;,\n  top_rated: &quot;\ucd5c\uace0 \ud3c9\uc810&quot;,\n};\n\nexport function Category() {\n  const { type } = useParams();\n  const [page, setPage] = useState(1);\n  const [totalPages, setTotalPages] = useState(1);\n  const [data, setData] = useState({ type: &quot;&quot;, page: 0, movies: [] });\n\n  useEffect(() =&gt; {\n    api\n      .get(`movie\/${type}`, { params: { page: page } })\n      .then((res) =&gt; {\n        let pages = res.data.total_pages;\n        if (pages &gt; 20) {\n          pages = 20;\n        }\n        setTotalPages(pages);\n        setData({ type: type, page: page, movies: res.data.results.filter((m) =&gt; m.poster_path) });\n      })\n      .catch(() =&gt; {\n        setData({ type: type, page: page, movies: [] });\n      });\n  }, [type, page]);\n\n  const loading = data.type !== type || data.page !== page;\n\n  function goPrev() {\n    if (page &gt; 1) {\n      setPage(page - 1);\n    }\n  }\n\n  function goNext() {\n    if (page &lt; totalPages) {\n      setPage(page + 1);\n    }\n  }\n\n  const title = TITLES[type] || type;\n\n  return (\n    &lt;Container className=&quot;min-h-screen pt-28 pb-16&quot;&gt;\n      &lt;h2 className=&quot;text-3xl font-bold text-white mb-8&quot;&gt;{title}&lt;\/h2&gt;\n\n      {loading &amp;&amp; &lt;Spinner \/&gt;}\n\n      {!loading &amp;&amp; (\n        &lt;&gt;\n          &lt;div className=&quot;grid grid-cols-1 sm:grid-cols-2 md:grid-cols-4 gap-6&quot;&gt;\n            {data.movies.map((el) =&gt; (\n              &lt;Card key={el.id} item={el} \/&gt;\n            ))}\n          &lt;\/div&gt;\n\n          &lt;div className=&quot;flex justify-center items-center gap-4 mt-12&quot;&gt;\n            &lt;Button variant=&quot;secondary&quot; onClick={goPrev} disabled={page === 1} className=&quot;px-4 py-2 rounded&quot;&gt;\n              \uc774\uc804\n            &lt;\/Button&gt;\n            &lt;span className=&quot;text-white&quot;&gt;\n              {page} \/ {totalPages}\n            &lt;\/span&gt;\n            &lt;Button variant=&quot;secondary&quot; onClick={goNext} disabled={page === totalPages} className=&quot;px-4 py-2 rounded&quot;&gt;\n              \ub2e4\uc74c\n            &lt;\/Button&gt;\n          &lt;\/div&gt;\n        &lt;\/&gt;\n      )}\n    &lt;\/Container&gt;\n  );\n}\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Tip: Gemini CLI\ub85c \uad6c\ud604\ud558\uae30 \u2014 Category \ud398\uc774\uc9c0\ub124\uc774\uc158 &amp; ErrorPage \ud504\ub86c\ud504\ud2b8: gemini &quot;src\/components\/Category.jsx\uc640 ErrorPage.jsx\ub97c \uc791\uc131\ud574\uc918. Category\ub294 useParams\ub85c type(now_playing, popular, top_rated)\uc744 \ubc1b\uc544\uc11c TMDB API movie\/[type]?page=[page]\ub97c \ud638\ucd9c\ud558\uace0, \uc774\uc804\/\ub2e4\uc74c \ubc84\ud2bc\uc73c\ub85c \ud398\uc774\uc9c0\ub124\uc774\uc158\uc744 \uad6c\ud604\ud574\uc918. \ucd5c\ub300 \ud398\uc774\uc9c0\ub294 [\ucd5c\ub300 \ud398\uc774\uc9c0 \uc218]\uc73c\ub85c \uc81c\ud55c\ud574\uc918. ErrorPage\ub294 404 \uba54\uc2dc\uc9c0\uc640 \ud648\uc73c\ub85c \ub3cc\uc544\uac00\uae30 Link\ub97c \ud3ec\ud568\ud574\uc918.&quot; \uc0ac\uc6a9 \uac00\uc774\ub4dc: [\ucd5c\ub300 \ud398\uc774\uc9c0 \uc218]\ub97c \uc6d0\ud558\ub294 \uc22b\uc790(\uae30\ubcf8: 20)\ub85c \ubc14\uafbc\ub2e4. \uce74\ud14c\uace0\ub9ac \ud55c\uae00 \uc774\ub984\uc774 \ud544\uc694\ud558\uba74 \ud504\ub86c\ud504\ud2b8\uc5d0 &#8230; <a title=\"Category, ErrorPage \uc644\uc131\ud558\uae30\" class=\"read-more\" href=\"https:\/\/coalacoding.com\/?p=83\" aria-label=\"Category, ErrorPage \uc644\uc131\ud558\uae30\uc5d0 \ub300\ud574 \ub354 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uc138\uc694\">\ub354 \uc77d\uae30<\/a><\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-83","post","type-post","status-publish","format-standard","hentry","category-react-movie-app"],"_links":{"self":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/posts\/83","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=83"}],"version-history":[{"count":0,"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions"}],"wp:attachment":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=83"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=83"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}