我可以在不运行项目的情况下使用后端api吗?

时间:2019-07-22 02:44:26

标签: java spring reactjs

我目前正在开发应用程序的前端,并在使用后端的api时测试我的代码,我需要在每次项目运行时从de DB访问数据;是否可以在不打开ide并每次都运行后端的情况下使用api?

2 个答案:

答案 0 :(得分:0)

如果不打开ide并使服务器启动,您将无法访问api,因此无法访问。但是有一种方法可以尝试模拟api / DB数据并将其保留在本地。

示例:后端api-“ api / get / users”返回{“ id”:1,“ name”:“ xyz”}

您可以复制响应并将其粘贴到一个JSON / JS文件中,例如,mocks // users.json也具有{“ id”:1,1,“ name”:“ xyz”}

并从您的代码中引用此模拟,通过这种方式,您可以更快地获得响应(如其本地文件所指),并且在需要确保流程时可以轻松地切换到后端api。

让我知道您是否需要其他详细信息

快乐编码!

答案 1 :(得分:0)

只有两种选择:运行后端或模拟后端。很快就会想到json-server的REST API。我要做的另一件事不是在本地运行后端,而是如果您部署了开发版本,则可以通过使用环境变量来针对它运行前端。例如,我的.env文件如下所示,因为我们正在使用AWS API网关:

# LOCAL
REACT_APP_API=/api

# DEV
# REACT_APP_API=https://todo.execute-api.ap-southeast-2.amazonaws.com/todo

在我的代码中,我使用process.env.REACT_APP_API进行REST调用。当我想使用DEV环境时,我交换了REACT_APP_API

注意:您需要确保CORS策略允许此操作以及应用程序中可能不喜欢的其他任何位。例如,在我的情况下,我们使用Cognito,因此我不得不添加http://localhost:3000作为允许的重定向URI,这可能不适用于您,但希望您理解了。

使用提交到您的repo中的.env文件作为管理环境变量的一种方式也被认为是不好的做法,我仅将此文件用于开发目的,请花点时间部署我所有的REACT_APP_..变量是从适当的环境管理工具中提取的。