首页 > 解决方案 > 使用 ReactJS 通过 PuppetDB API 获取单个节点/证书名称的报告

问题描述

因此 API 端点“报告”确实使用 curl 提供了此信息,如下所示:

curl -X GET http://puppetserver:8080/pdb/query/v4/reports -d 'limit=1' -d 'query=["=", "certname", "node.fqdn"]'

但是当我试图在 React 中使用 javascript 来实现这一点时,这似乎不起作用。

像这样的东西:

let puppetdbUrl = 'http://puppetserver:8080/pdb/query/v4/reports';
getReport = () => {
        axios.get(puppetdbUrl, {
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            },
            params: {
                'certname': 'node.fqdn'
            }
        })
        .then(response => {
            this.setState({resultReport: response});
            console.log(this.state.resultReport);
        })
    }

我得到的错误是:

400 (Bad Request). Unsupported query parameter 'certname'.

puppetdb API 的文档确实有这些查询参数: https ://puppet.com/docs/puppetdb/5.2/api/query/v4/reports.html 。有人可以帮忙吗?

在尝试使用休息客户端实现相同的事情时,我遇到了同样的错误。

标签: javascriptreactjsaxiospuppet

解决方案


推荐阅读