【问题标题】:How do i fetch data from api endpoint如何从 api 端点获取数据
【发布时间】:2021-10-02 13:40:19
【问题描述】:

我正在为我的前端(端口 3000)运行 nextjs,试图从 Strapi(端口 1337)获取 api 端点。 如何使用我的前端应用程序从后端获取数据。有没有办法让两个端口同时运行,还是我做错了什么?

如果我在端口 3000 上运行,我会收到一个 GET 请求错误 ERR_CONNETION_REFUSED,很明显 - 因为端口 1337 上的数据不可用,因为端口 1337 没有运行。

我的项目文件结构如下:

我的应用程序

--backend 文件夹(strapi 文件并在端口 1337 上运行)

--frontend 文件夹(包含所有nextjs,运行在3000端口)

代码

import Header from '../components/Header'
import useFetch from '../public/hooks/useFetch'

export default function Home() {

  const { loading, error, data } = useFetch('http://localhost:1337/reviews')

  return (
    
    <>

    <Header/>

    HOME


    </>
  )
}

【问题讨论】:

  • 您的 Strapi 应用程序正在端口 1337 上运行?你能看到 localhost:1337 吗?
  • “有没有办法让两个端口同时运行”——是的。您只需同时运行这两个软件。
  • 如果我在端口 1337 上运行,我无法访问我的前端应用程序,即“/home”。我无法访问我的前端文件夹,因为我正在从后端文件夹运行 1337
  • @gummyguppy — 在端口 1337 上运行服务器不会阻止您在端口 3000 上运行另一台服务器。
  • 啊.. 多个节点。好吧,我今天学到了一些东西。谢谢@Quentin。

标签: javascript node.js next.js strapi


【解决方案1】:

为了让您的生活更轻松,我建议您在市场上安装“文档”。 之后,您将可以访问“插件中的文档”,在那里您将能够检查您的 API,并使用“检索您的 JWT 令牌”获取测试令牌来测试您的所有 API。

从那里您将可以访问 Swagger 应用程序,并且您将能够检查所有 API 功能。

现在,您可以从服务器 URL 访问您的所有 API,即: GET http://localhost:1337/helpers

注意: 请务必在管理面板的设置/角色中让您的角色可以访问您的 API。从那里,您还可以检查您将使用的 URI。

在您的情况下,要访问http://localhost:1337/reviews,请务必在公共或私人方面公开评论。

之后,您将通过 http://localhost:1337/your_endpoint 从 Strapi URL 访问您的 Strapi 端点

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    相关资源
    最近更新 更多