Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

createJsonClient is not a function

Na duvida anterior, esse problema não foi solucionado.

4 respostas

Oi Jean, pode apontar o local do curso onde essa função é solicitada? Realmente ela não parece uma função que vem pronta no nodejs.

Olá, na aula 3, vídeo 4, o professor usa o restify, mas aconteceu esse erro.

Dei uma pesquisada nesta lib restify, e achei como seria a forma de fazer o post. Caso de maior pesquisa esta o link. https://github.com/restify/node-restify Você vai precisar instalar restify-clients

npm install --save restify-clients

E o seu codigo vai precisar estar assim.

let restify = require('restify');
let clients = require('restify-clients');

let cliente = clients .createJsonClient({
  url:'http://localhost:3001',
  version: '~1.0'
});
cliente.post('/cartoes/autoriza',
  function(erro, req, res, retorno) {
      console.log('consumindo serviço de cartoes');
  }
)

O erro que eu estava tendo era este

$ node clienteCartoes.js
C:\Users\Daniel\Documents\projects-pessoal\node-api-rest\servicos\clienteCartoes.js:3
let cliente = restify.createJsonClient({
                      ^

TypeError: restify.createJsonClient is not a function
    at Object.<anonymous> (C:\Users\Daniel\Documents\projects-pessoal\node-api-rest\servicos\clienteCartoes.js:3:23)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Function.Module.runMain (module.js:605:10)
    at startup (bootstrap_node.js:158:16)
    at bootstrap_node.js:575:3

Meu codigo estava assim

let restify = require('restify');

let cliente = restify.createJsonClient({
  url:'http://localhost:3001',
  version: '~1.0'
});
cliente.post('/cartoes/autoriza',
  function(erro, req, res, retorno) {
      console.log('consumindo serviço de cartoes');
  }
)

E meu package assim

{
  "name": "node-api-rest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.17.2",
    "consign": "^0.1.5",
    "express": "^4.15.3",
    "express-validator": "^3.2.1",
    "jspdf": "^1.3.3",
    "mysql": "^2.13.0",
    "restify": "^5.0.1"
  }
}

E agora esta assim o package

{
  "name": "node-api-rest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.17.2",
    "consign": "^0.1.5",
    "express": "^4.15.3",
    "express-validator": "^3.2.1",
    "jspdf": "^1.3.3",
    "mysql": "^2.13.0",
    "restify": "^5.0.1",
    "restify-clients": "^1.5.0"
  }
}

Espero ter ajudado :)

solução!

Solucionou o meu problema!