程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Axios 和 App 对外部 api 的 GET/POST 请求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Axios 和 App 对外部 api 的 GET/POST 请求?

开发过程中遇到Axios 和 App 对外部 api 的 GET/POST 请求的问题如何解决?下面主要结合日常开发的经验,给出你关于Axios 和 App 对外部 api 的 GET/POST 请求的解决方法建议,希望对你解决Axios 和 App 对外部 api 的 GET/POST 请求有所启发或帮助;

我是 axios 和 nodeJs/express 的新手。 Axios 调用是从 React 组件文件本身进行的,我决定将它们移动到一个名为“user.service.Js”的文件中以学习最佳实践。但是,它们并不像我期望的那样工作。以下是两种情况。

对于 GET 请求,这有效: user.service.Js:

class Userservice {
    getDevices() {
        return axios.get(process.env.REACT_APP_serviCE + "/userDevices",{
            params: {
                access_token: user.access_token,}
        });
    }
}
export default new Userservice();

server.Js:

app.get('/userDevices',(req,res) => {
    console.log("grabbing user List of available devices");

    axios.get(API_url + "/API/devices",{
        headers: 
        { 'Authorization': 'Bearer ' + req.query.access_token }
    }
    ).then((responsE) => {
        res.send({ devices: response.data });
    }).catch((err) => {
        console.log('Failed to grab user devices');
        res.send('error');
    });
});

但这(更改 user.service.Js 中的 getDevices 函数和 server.Js 中的标头)不会: user.service.Js:

    getDevices() {
        return axios.get(process.env.REACT_APP_serviCE + "/userDevices",{
            headers: {
                authorization: 'Bearer +' user.access_token,}
        });
    }

server.Js:

app.get('/userDevices',{
        headers: req.headers.authorization
    }
    ).then((responsE) => {
        res.send({ devices: response.data });
    }).catch((err) => {
        console.log('Failed to grab user devices');
        res.send('error');
    });
});

对于 POST 请求,这根本不起作用: user.service.Js:

class Userservice()
{
    addDevice(EID,deviCEType,configGroup,name,ip,tenantID) {
        return axios.post(process.env.REACT_APP_serviCE + "/addDevice",{
            params :{
                EID: EID,deviCEType: deviCEType,configGroup: configGroup,name: name,ip: ip,tenantID: tenantID,access_token: user.access_token
            }
        });
    }
}
export default new Userservice();

server.Js:

app.post('/addDevice',res) => {
    console.log('Adding new device');
   
    const device = [{
        "EID": req.body.EID,"fIElds": {
            "deviCEType": req.body.deviCEType,"configGroup": req.body.configGroup,"fIEld:name": req.body.name,"fIEld:ip": req.body.ip
        }
    }];
 
    axios.post(API_url + "/API/devices",device,{
        headers: {
            "Authorization": 'Bearer ' + req.query.access_token,"X-Tenant-ID": req.body.tenantID,"Content-Type": "application/Json"        
        }
    }).then((responsE) => {
        res.send({ status: response.data.message });
    }).catch((err) => {
        console.log('Failed to add device',err);
        res.send({ status: 'error' });
    });
});

打印“req.body.tenantID”未定义。我在我的 React 组件中创建了这个类的一个新实例,其他函数也可以工作。我怀疑我对“req.body”的调用不正确,但我现在不知所措。提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的Axios 和 App 对外部 api 的 GET/POST 请求全部内容,希望文章能够帮你解决Axios 和 App 对外部 api 的 GET/POST 请求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。