【问题标题】:Gridsome returning xml api - graphql layerGridsome 返回 xml api - graphql 层
【发布时间】:2020-04-28 02:06:34
【问题描述】:

您好,我很难通过 Gridsome 记录的方式在 Gridsome 中返回 api 端点。我认为这是因为返回的是纯 json 的 xml。

有没有人知道如何将这些数据放入 Gridsome 中的 graphql 层。这是返回数据的记录方法,这适用于纯 json 即https://jsonplaceholder.typicode.com/posts,但不适用于http://balfourmanson.master.d8digital.com/umbraco/api/NewsAndEventsApi/getall

const axios = require('axios')
module.exports = function (api) {
api.loadSource(async actions => {
const collection = actions.addCollection('News')
const {
  data
} = await 
axios.get('http://balfourmanson.master.d8digital.com/umbraco/api/NewsAndEventsApi/getall')
for (const item of data) {
  collection.addNode({
    id: item.id,
    title: item.title,
    content: item.content
  })
}
})
 }

提前致谢

【问题讨论】:

  • 如果您知道 balfourmanson API 提供 JSON 响应,您可能需要在您的 axios 请求中传递一个标头参数,以便以 JSON 格式返回数据。
  • ^ 那么上面的代码应该可以工作
  • 感谢您回来,我试过了,但似乎没有什么不同。再次感谢。

标签: api vue.js graphql axios gridsome


【解决方案1】:

看看这篇文章: Parse XML from Axios response, pushing to Vue data array

这应该可以解决问题。之后,您可以映射您的字段。 如果你有问题回来这里。

【讨论】:

  • 谢谢 - 我会试试这个并告诉你 - 我是一个慢工,所以可能需要一段时间。谢谢。
  • 感谢您在这里的反馈 - 原来这是一个不同的问题,或者我只是愚蠢。我得到的错误是由于我对事物的误解。我试图调用集合位中不存在且没有唯一 ID 的项目。
  • 不客气,不用担心。我知道了。如果您正在取得进展,那就太好了。
猜你喜欢
  • 2019-08-08
  • 1970-01-01
  • 2020-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-10
  • 2013-01-14
  • 2017-11-13
相关资源
最近更新 更多