如何编写第一个JavaScript REST客户端(服务器端)
#javascript #node #休息 #serverside

本教程演示了如何使用nodejs和axios开发直接的JavaScript服务器端应用程序。本课程将假定您对Nodejs一无所知,但是如果您对JavaScript语法具有一些编程专业知识,那将是有益的。如果JavaScript和nodejs(Node.js)不是您的首选语言,我们还提供Python,PHP,C#和Golang实现。

在开始安装必要的零件之前。让我们快速回顾一下本教程打算完成的工作。设置开发环境的第一步是下载和安装nodejs(node.js),之后我们将编写一些代码以访问交易的REST API并获得实时外汇和CFD(indices)数据(服务器端) )。

教程的概述
下载,安装和设置Node.js
开始免费试用Tradermade Data API(永远每月1000个免费电话....)
建立用于数据检索的nodejs(node.js)
数据解析并在屏幕上显示

让我们开始

在Mac或Windows计算机上安装nodejs(node.js):

访问nodejs.org获取nodejs。
运行安装并遵守设置。
在命令提示中键入节点。

linux:
以root或sudo用户的方式运行apt-get安装nodejs。

现在键入node -v以验证安装。您会收到类似v14.8.1的东西
对于您的软件和相关库,制作目录。
安装nodejs后打开命令窗口或终端以获取启动我们客户端所需的依赖关系(库)。运行以下命令使用Axios库进行HTTP请求:

npm i axios

创建一个帐户并获取API密钥。

您可以注册并创建一个帐户以获取欢迎电子邮件。如果您已经与我们注册以获取钥匙,请登录仪表板。
nodejs(node.js)休息客户端安装并获取当前的外汇和CFD数据。

现在设置了环境。转到您刚刚制作的目录,然后在那里启动文件。我的程序将被称为tmsdataclient.js。记事本,Atom VS代码,Linux上的VI或您的首选编辑器都应该能够打开文件。

现在让我们开始编码。
我们将首先导入Axios库。

const axios = require('axios');

然后,实时端点的URL将传递给我们创建的get命令。您必须在以下代码中调整要调用的货币并更换API密钥。在此示例中,我们将使用一些FX对和CFD,因为它们都会产生略有不同的结果。

axios.get('https://marketdata.tradermade.com/api/v1/live?currency=EURUSD,GBPUSD,UK100&api_key=YOUR_API_KEY')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.log(error);
  });

我们在文件所在的目录中打开命令提示符,然后输入以下命令以启动程序。

node TMSdataClient.js

您应该看到类似这些结果:

{
  endpoint: 'live',
  quotes: [
    {
      ask: 1.16411,
      base_currency: 'EUR',
      bid: 1.1641,
      mid: 1.1641,
      quote_currency: 'USD'
    },
    {
      ask: 1.38079,
      base_currency: 'GBP',
      bid: 1.38078,
      mid: 1.38078,
      quote_currency: 'USD'
    },
    { ask: 7199.3, 
      bid: 7198.2, 
      instrument: 'UK100', 
      mid: 7198.75 
    }
    ],
    requested_time: 'Thu, 21 Oct 2021 08:42:21 GMT',
    timestamp: 1634805742
}

这是RAW JSON,因此我们现在将花费一些精力来迭代地处理JSON数据并以更可读性的方式产生输出。由于CFD只有一个仪器文件,而不是基本货币和报价货币,因此我们添加了一个IF语句以检查基本货币。然后提取每个报价的出价和询问值。

for (quote in response.data.quotes){
        quoteData = response.data.quotes[quote];
        ccy = ""
        if ( quoteData["base_currency"] != undefined){
            ccy = quoteData["base_currency"] + quoteData["quote_currency"]          
        }else{
            ccy = quoteData["instrument"]
        }
        console.log(" Symbol " + ccy + " Bid " + quoteData["bid"] + " Ask " + quoteData["ask"])
}

如果我们重新运行该程序,我们将获得以下解析的输出:

Symbol EURUSD Bid 1.16416 Ask 1.16417
Symbol GBPUSD Bid 1.38078 Ask 1.38079
Symbol UK100 Bid 7199.4 Ask 7200.6

我们在此插图中采用了实时终点。但是,相同的代码将在所有其他交易端点上运行,并进行非常小的调整。有关更多详细信息,请参阅我们的文档页面。

用户拥有的任何编程语言都是我们准备协助的。如果您有任何建议或想法,请联系。我们将来会收到您的来信。

另外,遍历我们的其他教程:
Forex Crypto and CFD REST JSON with Java

Data Visualization Python

How to Write Your First JavaScript REST Client (Server Side)