0

Gitpod 上我的 NextJS 前端试图从我的 Django Rest API 后端获取包含“产品名称”“价格”“图像”的对象列表。然后,我的 NextJS 前端可以获取包含“产品名称”“价格”但不包含“图像”的对象列表,因此我的 NextJS 前端不能仅获取“图像”,如下所示:

“产品名称”如“boots 4”、“boots 3”……“价格”如“£12.10”、“£10.50”……显示,但不显示“图像”

在此处输入图像描述

这是我想要的带有“产品名称”“价格”“图像”的输出:

在此处输入图像描述

Gitpod上,我在 3000 端口打开(私有)上的 NextJS 前端我在 8000 端口打开(私有)上的 Django Rest API 后端都在运行:

在此处输入图像描述

的 NextJS 前端使用这个带有“localhost”的 Rest API 调用,如下所示来获取包含“产品名称”“价格”“图像”的对象列表:

http://localhost:8000/api

而且,有这些错误:

3000-gitpodio-templatetypescr-tqzkjl97w1d.ws-us33.gitpod.io/:987
获取 http://localhost:8000/media/images/paid.png net::ERR_CONNECTION_REFUSED 3000-gitpodio-templatetypescr-tqzkjl97w1d.ws-us33。 gitpod.io/:987
GET http://localhost:8000/media/images/size.png net::ERR_CONNECTION_REFUSED 3000-gitpodio-templatetypescr-tqzkjl97w1d.ws-us33.gitpod.io/:987
GET http://localhost :8000/media/images/download.jpg 网络::ERR_CONNECTION_REFUSED 3000-gitpodio-templatetypescr-tqzkjl97w1d.ws-us33.gitpod.io/:987
GET http://localhost:8000/media/images/02173_l.jpg 网络: :ERR_CONNECTION_REFUSED

实际上,我通过在我的 Gitpod 域中使用这个 Rest API 调用来解决上面的这些错误,如下所示以获取对象列表:

https://8000-gitpodio-templatetypescr-tqzkjl97w1d.ws-us33.gitpod.io/api

但出现其他错误,如下所示:

Server Error
FetchError: invalid json response body at https://8000-gitpodio-templatetypescr-tqzkjl97w1d.ws-us33.gitpod.io/api reason: Unexpected end of JSON input

This error happened while generating the page. Any console logs will be displayed in the terminal window.
Source
pages/index.js (73:16) @ async getStaticProps

  71 | export async function getStaticProps() {
  72 |   const res = await fetch("https://8000-gitpodio-templatetypescr-tqzkjl97w1d.ws-us33.gitpod.io/api");
> 73 |   const posts = await res.json();
     |                ^
  74 | 
  75 |   // const ress = await fetch("http://127.0.0.1:8000/api/category/");
  76 |   // const categories = await ress.json();

实际上,这个带有我的 Gitpod 域的 Rest API 调用是正确的,因为通过这个 Rest API 调用,我可以从Gitpod的 Django Rest API 后端获取Postman上的对象列表:

https://8000-gitpodio-templatetypescr-tqzkjl97w1d.ws-us33.gitpod.io/api

是否有任何解决方案可以解决此错误并获取包含“产品名称”“价格”“图像”的对象列表?

4

1 回答 1

0

您应该将 Django Rest API 后端的端口 8000 设为“公共”,以获取包含“产品名称”“价格”“图像”的对象列表:

在此处输入图像描述

最后,您可以获得包含“产品名称”“价格”“图像”的对象列表:

在此处输入图像描述

于 2022-02-22T01:19:46.423 回答