最近工作遇到需求,要測驗一下第三方公司給我們提供的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!