平时有新需求时,都是后端开发好接口后,将服务部署到测试环境,前端连接测试环境进行联调。但最近后端没有资源,一些简单的需求只能自己改了。

对于刚新增的接口或需求代码还不能直接部署到测试环境上,想在本地联调完成后再部署。

测试环境使用的是Spring-Cloud微服务部署方式,修改后端代码时,我本地只跑一个微服务。此时,本地的前端服务需要连接测试环境以及本地启动的微服务(因为其他的接口需要调用测试环境上的,例如登录接口)。那么本地的前端服务如何同时调用测试环境以及本地的后端服务呢?这涉及到跨域问题。

前端

/**
 * 前端调用的接口
 * 1.1.1.1为本地启动的微服务的IP地址,8888为端口号
 * @param {Object} params 接口传参
 */
export async function getData(params) {
  return request(`http://1.1.1.1:8888/param/getData`, {
    method: 'POST',
    body: params,
  });
}

后端

/**
 * 此处仅列出核心代码
 * 在新增接口或未部署的最新接口上加上允许跨域的注解(@CrossOrigin)
 */
@PostMapping("/getData")
@CrossOrigin(allowCredentials = "true")
public ResponseData<List<String>> queryData(@RequestBody @NotNull DataDto dataDto) {
    return ResponseData.success(valueManagerService.queryData(dataDto));
}

这样本地跑的前后端服务就能连上了~

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐