Ich bin ein Anfänger mit nodeJS.Aufruf einer POST API von Knoten JS
Was ich bin versucht:
ich eine POST-API haben gehostet und wenn ich es Postbote mit nennen, es gibt mir die richtige Antwort, wie unten in der Abbildung dargestellt:
Aber wenn ich versuche, es zu treffen, das NodeJS Knoten-rest-Client verwenden (https://www.npmjs.com/package/node-rest-client) es mir ein irrelevantes großes Objekt wie unten geben:
IncomingMessage {
_readableState:
ReadableState {
objectMode: false,
highWaterMark: 16384,
buffer: BufferList { head: null, tail: null, length: 0 },
length: 0,
pipes: null,
pipesCount: 0,
flowing: true,
ended: true,
endEmitted: true,
reading: false,
sync: true,
needReadable: false,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
defaultEncoding: 'utf8',
ranOut: false,
awaitDrain: 0,
readingMore: false,
decoder: null,
encoding: null },
readable: false,
domain: null,
_events:
{ end: [ [Function: responseOnEnd], [Function] ],
data: [Function],
error: [Function] },
_eventsCount: 3,
_maxListeners: undefined,
socket:
Socket {
connecting: false,
_hadError: false,
_handle: null,
_parent: null,
_host: null,
_readableState:
ReadableState {
objectMode: false,
highWaterMark: 16384,
buffer: [Object],
length: 0,
pipes: null,
pipesCount: 0,
flowing: true,
ended: false,
endEmitted: false,
reading: true,
sync: false,
needReadable: true,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
defaultEncoding: 'utf8',
ranOut: false,
awaitDrain: 0,
readingMore: false,
Ich brauche Hilfe, um mein richtiges Objekt zu bekommen, und ich bin nicht in der Lage herauszufinden, was ich hier falsch mache.
Unten ist mein Code REST API aufrufen:
app.get('/notes', cors(), function(req, res) {
var args = {
"hiveMachineIp": "192.168.0.110",
"hiveMachinePort": "10000",
"hiveUsername": "nt",
"hivePassword": "",
"hiveDatabaseName": "default",
"hiveTableName": "transactions_24m",
"hiveAggregationColumn": "customerid",
"hiveAggregationFunction": "HISTOGRAM",
"hiveAggregationHistogramBin": "5"
};
var Client = require('node-rest-client').Client;
var client = new Client();
client.post("http://163.47.152.170:8090/MachinfinityDataPreparation/machinfinitydataprep/hiveDataAggregation/", args, function (data, response) {
// parsed response body as js object
// console.log(data);
// raw response
console.log(response);
});
// registering remote methods
client.registerMethod("postMethod", "http://163.47.152.170:8090/MachinfinityDataPreparation/machinfinitydataprep/hiveDataAggregation/", "POST");
client.methods.postMethod(args, function (data, response) {
// parsed response body as js object
// console.log(data);
// raw response
console.log(response);
});
})
Meine Vermutung wäre, dass Sie den Client irgendwie sind Dumping, nicht die Antwort von dem Server, der Client empfängt. Wenn es Ihnen nichts ausmacht, teilen Sie einen Teil Ihres Client-Codes, der für die Erstellung des Rest-Clients und der Anfrage verantwortlich ist. –
Das Problem ist gelöst mit Axios, aber ich möchte immer noch wissen, was im obigen Code falsch ist. –