Mi sono imbattuto nell'incarico simile in cui ho chiesto di implementare o creare tre diversi moduli.
- Applicazione Web
- Applicazione REST
- Nodo
Tutte le mie richieste di applicazioni Web puntano al modulo REST che è un'implementazione puramente di servizio web Spring. Questo è prima che node.js entri in scena. Successivamente ho chiesto di aggiungere il livello del nodo tra il modulo web e il modulo REST in modo che tutte le mie richieste di applicazioni Web dovessero passare attraverso il modulo nodo e il nodo lo passasse al modulo REST e viceversa. Ciò è dovuto al fatto di considerare le esigenze aziendali e alcuni requisiti specifici.
Quindi la mia applicazione web sta avendo tutte le implementazioni html statiche che chiamano il modulo node.js attraverso la chiamata jquery ajax e sugli elementi dom di successo html sono pieni di alcuni valori.
Facciamo un esempio
Ho un evento clic sul pulsante su cui chiamare jquery ajax deve essere chiamato all'applicazione nodo. Per questo nodo l'applicazione deve essere in esecuzione. Per eseguire l'applicazione node.js utilizzare il seguente comando.
$ node index.js
Dove index.js è il mio punto di partenza principale per il modulo nodo che ha qualche URL
per esempio. getContactDetails
$(document).on("click", "#btnClick", function(event) {
jQuery.ajax({
type : 'POST',
url : "http://nodeserver:port/appurl",
dataType :"json",
data : JSON.stringify(someJSON),
contentType : "application/json;charset=utf-8",
success : function(data) {
/*Some code*/},
error :function(data) {
/*Some code*/}
});
});
All'interno del nodo sto dando una chiamata al modulo REST come sotto
requestObj({
url : restUrl,
method : "POST",
headers : { "Content-Type" : "application/json","pubKey":composeJSON},
body : JSON.stringify(tmp.body)
},
function (error, res, body) {
indexresponseBody = JSON.stringify(JSON.parse(body).message);
}
);
res.writeHead(200, {'content-type':'text/html'});
res.write("data",indexresponseBody);
res.end();