如何发出服务器端API请求?

时间:2019-06-24 16:09:53

标签: javascript rest server-side

我正在使用javascript(React)创建一个使用多个API(Spotify,Twitch,Youtube)的网络应用,到目前为止,我一直在使用Axios制作 REST调用成功。但是现在我开始遇到跨域资源共享(CORS)错误,并被告知 我需要从服务器而不是客户端对外部API进行调用。我从未从服务器进行API调用, 有一些问题:

  1. 我正在做的所有事情当前都在使用Node在本地运行,并且我没有“服务器”,除非那是Node计算的。我需要一个“服务器”吗?
  2. 我应该创建自己的API并将其托管在某个服务器上,以便可以从我的JavaScript代码中调用该API吗?
  3. 如果那是我应该做的,如何创建自己的API?
  4. 是否需要使用其他语言来进行服务器端api调用?

2 个答案:

答案 0 :(得分:2)

  

我正在做的所有事情当前都在使用Node在本地运行,并且我没有“服务器”,除非那是Node计算的。我需要一个“服务器”吗?

React附带了许多使用Node的开发工具,包括开发服务器。不过,它不是为生产目的而设计的,因此您不应将其用于生产。

  

我应该创建自己的API并将其托管在某个服务器上,以便可以从JavaScript代码中调用该API吗?

是的

  

如果那是我应该做的,如何创建自己的API?

编写一些接受HTTP请求的代码,获取您想要对其进行响应的数据,并进行HTTP响应。

Express.js是在Node中执行此操作的一种流行方法。您可以将其与Next.js结合使用,以为React应用应用服务器端渲染(从而获得更好的性能,可访问性,可靠性和SEO)。

  

是否需要使用其他语言进行服务器端api调用?

您可以使用任何喜欢的语言编写服务器端代码。

答案 1 :(得分:1)

  1. 我假设您将应用程序托管在开发nodeJS服务器上,因此 将需要一台额外的服务器。
  2. 是的。创建一个API并从您的前端调用它。
  3. 创建一个服务器,该服务器接收http请求并根据路由执行您的工作 关于如何使用例如上的nodeJS + Express执行此操作的示例很多 互联网。
  4. 您选择用于服务器端的语言。