Не удается отправить данные JSON на сервер REST

Я пытаюсь отправить некоторые данные на сервер REST, созданный с помощью композитора Hyperledger. У меня есть файл JSON, и я пытаюсь использовать NodeJS и модуль запроса для публикации. Однако похоже, что модуль запроса может найти мою ссылку.

Здесь я пытаюсь опубликовать свои активы (это на сервере REST): REST-сервер

Я скопировал и вставил URL-адрес этого раздела сообщения в свой код inputter.js.

Вот мой текущий каталог (я запускаю файл inputter.js): Каталог

Вот мой код inputter.js:

var request = require('request');
var requestData = require("./input.json");


var url = "http://localhost:3000/explorer/#!/models95certificateModel95certificate/models_certificateModel_certificate_create";

request({
    url: url,
    method: "POST",
    headers: {
        "content-type": "application/json",
        },
    json: requestData
    }, function (error, response, body) {
        if(error)
            throw error;
        console.log('statusCode:', response && response.statusCode);
        console.log('body:', body);
    });

и вот данные JSON, которые я пытаюсь ввести:

[ 
    { 
        "$class": "models.certificateModel.certificate",
        "hash" : "36ba3cf8261e1d203eafcf102f6426a9f0ff38edc62df6d7359938b2f358d68b8ce568325ebcd1ddfb3f64ebe41b73fc84d8fecd9023f834b487738ae02c6370",
        "state": "VALID",
        "issuer": "45576f7f-2f07-43f7-9638-1dcaa37a9f94",
        "owner": "d804d827-ebe8-4c42-b4b3-2888bba676a8",
        "comments": "Issued Certificate"
    },
    { 
        "$class": "models.certificateModel.certificate",
        "hash": "fc8ab6b4f10c80fbf6219e91991a32708f2da3d6de6eb2a52ac78ca930293597fdc693533afee6caae501a4808ecbb3b5367383e5e2ab88b08aef15af61a6497",
        "issuer": "45576f7f-2f07-43f7-9638-1dcaa37a9f94",
        "owner": "d2f0cf4b-cb21-4bc8-b059-e83abaa13e60",
        "state": "VALID",
        "comments": "Issued Certificate"
    },
    { 
        "$class": "models.certificateModel.certificate",
        "hash": "c876cf2b110f3af71fba5bba6dd48d2a063f1806c307cd9ae3e50494d39847137eba464c81bb423342bac8b6084f3e900b85044bef3cec459fd10c5f6bea0ad5",
        "issuer": "45576f7f-2f07-43f7-9638-1dcaa37a9f94",
        "owner": "39dfa2eb-76b9-44e4-a9fa-a107fadd2d46",
        "state": "VALID",
        "comments": "Issued Certificate"
    } 
]

Я вручную ввел данные на сервер REST, и все в файле JSON кажется действительным.

Однако когда я запускаю приложение inputter.js, я получаю ошибку 404. Вот тело ошибки:

body: { error: 
   { statusCode: 404,
     name: 'Error',
     message: 'Cannot POST /explorer/',
     status: 404,
     stack: 'Error: Cannot POST /explorer/\n    at raiseUrlNotFoundError (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/loopback/server/middleware/url-not-found.js:21:17)\n    at Layer.handle [as handle_request] (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13)\n    at /Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7\n    at Function.process_params (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12)\n    at next (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10)\n    at /Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15\n    at next (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:260:14)\n    at Function.handle (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:174:3)\n    at router (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13)\n    at /Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7\n    at Function.process_params (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12)\n    at Immediate.next (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10)\n    at Immediate.<anonymous> (/Users/harshdeshpande/.nvm/versions/node/v8.11.3/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15)' } }

Я относительно новичок в модуле запроса и не могу точно понять, что здесь происходит. Может ли модуль запроса не читать адреса локального хоста? Что именно мне здесь не хватает?


person harsh    schedule 02.07.2018    source источник
comment
Ваш URL-адрес неверен. Вы не отправляете запросы по пути /explorer, так как это путь для тестового пользовательского интерфейса, встроенного в остальной сервер. Если вы используете пользовательский интерфейс проводника для тестирования, он должен сообщить вам URL-адрес запроса и пример вызова CURL.   -  person david_k    schedule 03.07.2018
comment
Благодарю вас! Я нашел правильный URL-адрес для поиска (он был указан на сервере REST).   -  person harsh    schedule 03.07.2018


Ответы (1)


Я думаю, что вы не экспортируете входные данные.

person Vishwajeet Sonkar    schedule 03.07.2018