项目作者: wilkerHop

项目描述 :
Calculator rest API
高级语言: JavaScript
项目地址: git://github.com/wilkerHop/calcAPI.git
创建时间: 2017-12-13T16:25:33Z
项目社区:https://github.com/wilkerHop/calcAPI

开源协议:

下载


calcAPI

Uma API que retorna resultados de operações matemáticas;

Operações

As operações são dadas na url no seguinte formato:

  1. domain.com/{operação}/{primeiro_valor}/{segundo_valor}

e elas são:

Soma

A soma pode ser acionada pelas seguintes strings:

  • +
  • soma
  • plus
  • add

    Subtração

    A soma pode ser acionada pelos seguintes nomes:
  • -
  • sub
  • menos
  • minus
  • less

    Multiplicação

    A soma pode ser acionada pelos seguintes nomes:
  • *
  • x
  • mul
  • mult
  • times

    Divisão

    A soma pode ser acionada pelos seguintes nomes:
  • :
  • div
  • take
  • split

    Raiz

    A soma pode ser acionada pelos seguintes nomes:
  • root
  • raiz

    Esponencial

    A soma pode ser acionada pelos seguintes nomes:
  • ^
  • exp
  • elev

Exemplos

Soma

url = https://calculation-api.herokuapp.com/+/2/3

  1. {
  2. "result": 5
  3. }

Divisão

url = https://calculation-api.herokuapp.com/:/52.33/7.5

  1. {
  2. "result": 6.977333333333333
  3. }

Raiz

url = https://calculation-api.herokuapp.com/√/27/3

  1. {
  2. "result": 3
  3. }

Troubleshooting

Valores longos

Caso um dos valores obter um valor acima de 16 algarismos, a API irá arredondar-lo.
Se realmente for necessário obter um valor mais apurado, insira a rota long/no início da URI

Exemplo

url = https://calculation-api.herokuapp.com/long/:/29289984423798437.04383428093/942303293099948028324932.290044

  1. {
  2. "wrn": "The result is a string. You shold parse it.",
  3. "result": "3.108339389056e-8"3.5.2
  4. }

Se não se importar com o arredondamento, você pode mandar os valores longos, porém a api vai retornar um warning sobre a situação.

Exemplo

url = https://calculation-api.herokuapp.com/:/29289984423798437.04383428093/942303293099948028324932.290044

  1. {
  2. "wrn": "Params given are too high, the result is not going to be too accurate",
  3. "result": 3.1083393890561e-8
  4. }

NaN

Caso um dos valores dados começar com um caractere não numérico, a API vai retornar um error. Isso conta para a long/ também.

Exemplo

url = https://calculation-api.herokuapp.com/times/qiA7299/22

  1. {
  2. "err": "Params given are not number type."
  3. }

Mas, se começar com um número, a API só processará ele até encontrar um não número.

Exemplo

url = https://calculation-api.herokuapp.com/plus/9d333/11pp22

  1. {
  2. "result": 20
  3. }

Deploy

git clone

Baixe o projeto com

  1. git clone https://github.com/wilkerHop/calcAPI.git

npm

Você vai precisar do Nodejs v6.11.4^ e do npm v3.5.2^ para rodar a API. Depois de instalados, dentro da pasta do projeto escreva

  1. npm install

npm start

Pronto!

Você agora tem a API instalada no seu PC. Agora, um

  1. npm start

ou

  1. node app

e ela está rodando no seu localhost na porta 3000 ou na sua plataforma as-a-service, como o Heroku, já setada para a porta padrão.

#todo

  • Aceitar nth valores;
  • tratar erros lançados quando resultados maiores que o long/ pode suportar;
  • Enviar um resultado em number na rota long/{calc};
  • Add métodos de machine learning.
pas