NodeJS中axios的使用案例


最近工作遇到需求,要測驗一下第三方公司給我們提供的API是否可行,其實方法有至少兩種,一是利用postman,設置基本信息,然后點擊按鈕測驗;一是nodeJS,代碼訪問API。當然作為coder,本人選擇了后者。下面上一些基本的格式,以防下次還需要用到,就會省很多查詢的麻煩。

Methods: POST

  • Protocol : HTTP
  • Data Format : x-www-form-urlencoded
  • Response Data : JSON
const axios = require("axios");
const Qs = require("qs");  //qs是一個url參數轉化(parse/stringify)的js庫

async function testPOST() {
    let response = await axios({
        method: "POST",
        headers: { "Content-Type": "application/x-www-form-urlencoded" },
        url: url,
        data: Qs.stringify(param) 
     })
     console.log(response)  
}

  

Methods: GET

  • Protocol : HTTP
  • Data Format : x-www-form-urlencoded
  • Response Data : JSON
const axios = require("axios");
const path = require("path");
const fs = require("fs");
const filePath = "E:\\testAPI"  //希望把文件下載到哪里

 
async function testGET(){
  if (!fs.existsSync(filePath)) {
    fs.mkdirSync(filepath)
  }
  /* name是生成的文件的文件名,自定義,比如,我希望產生的文件名為test.pdf,那么name='test.pdf' */
    const mypath = path.resolve(filePath, name)
    const writer = fs.createWriteStream(mypath)
    let response = await axios({
       url: resource, //需要訪問的資源鏈接
       method: "GET",
       responseType: "stream",
       params: param //需要傳的參數
   })
   response.data.pipe(writer)
   return new Promise((resolve, reject) => {
       writer.on("finish", resolve)
       writer.on("error", reject)
   })
} 

  

細水長流才是真。Nothing is impossible!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM