从本地openwhisk操作在本地主机上请求api

问题描述

我已经使用openwhisk-devtools在docker上运行了openwhisk的本地实例。我创建了一个尝试在运行在端口8081的计算机上命中API的操作。代码如下所示:

export const toolTip = withstyles((theme) => ({
    tooltip: {
        color: 'white',backgroundColor: 'black,...
    },arrow: {
        color: 'black',}
}))(Tooltip);

我得到的错误是:

import axios from 'axios';

async function main () {

  let response = null;

  try {
    response = await axios.get('http://localhost:8081/api/health-check');
  } catch (error) {
    return {
      payload: {
        error: error
      }
    }
  }

  return {
    payload: {
      headers: response.headers
    }
  };
}

global.main = main;

我认为这是因为localhost指向运行该操作的任何Docker容器。我怎样才能得到去我的开发机器的请求?

解决方法

打印process.env的值后,我发现了一个属性:

"__OW_API_HOST": "https://192.168.2.61",

起初我不太确定它是什么,但是我在这里尝试了一个请求,它起作用了:

axios.get('http://192.169.2.61:8081/api/health-check')

因此,process.env.__OW_API_HOST可能包含一个指向您可以使用的本地计算机的IP。