【问题标题】:How can I call http request by controller adonis?如何通过控制器 adonis 调用 http 请求?
【发布时间】:2019-11-17 00:57:41
【问题描述】:

我尝试这样:

class CategoryController {
  async index ({ request, response, view }) {
    const categories = await request.get('https://myapp-api.website.com/api/v2/data')
    const a = response.json(categories)
    return {
      data: a
    }
  }
}

我的路线:

Route.group(()=>{
  Route.get('categories', 'CategoryController.index')
}).prefix('api/v1')

我尝试像这样通过邮递员打电话:http://127.0.0.1:3333/api/v1/categories

结果是空数组{}

我该如何解决这个问题?

【问题讨论】:

    标签: json http-post postman adonis.js


    【解决方案1】:

    要发送 http 请求,您可以使用 axios 库。喜欢:

    const axios = use('axios')
    const querystring = use('querystring')
    
    try {
         /* get('url', params) */
         const data_request = await axios.get('yourUrl', querystring.stringify({ }))
    } catch(error)
    { ... }
    
    

    文档:https://github.com/axios/axios

    【讨论】:

    • 谢谢。但我尝试return response.send(data_request) 来返回响应。存在错误:Converting circular structure to JSON 。我该如何解决这个问题?
    • 可以给我内容吗:data_request
    • @SuccessMan 您需要返回 response.data 而不是响应。在这个例子中使用data_request.data
    猜你喜欢
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多