Dengan perkembangan pesat teknologi Internet, pembangunan aplikasi Web telah menjadi semakin popular. Antaranya, model seni bina pemisahan hujung depan dan belakang telah menjadi salah satu model arus perdana pembangunan Web. Di bawah seni bina ini, bahagian hadapan bertanggungjawab untuk memaparkan halaman dan berinteraksi dengan pengguna, dan bahagian belakang memfokuskan pada pemprosesan data dan kawalan logik. Untuk mencapai pemindahan data dan interaksi antara bahagian hadapan dan belakang, selalunya perlu menggunakan bahasa pengaturcaraan dan rangka kerja yang berbeza.
Di bawah seni bina pemisahan bahagian hadapan dan belakang, Java, sebagai bahasa hujung belakang yang matang, sering digunakan untuk melaksanakan logik perniagaan dalam aplikasi web. Node.js ialah persekitaran berjalan JavaScript berdasarkan enjin Chrome V8, yang digunakan secara meluas dalam pembangunan pelayan web, API RESTful dan medan lain. Dalam pembangunan sebenar, disebabkan keperluan untuk seni bina pemisahan bahagian hadapan dan belakang, Node.js perlu memanggil antara muka Java untuk mendapatkan data dan memproses logik perniagaan. Jadi, artikel ini akan memperkenalkan cara menggunakan Node.js untuk meminta antara muka Java.
Dalam Node.js, terdapat modul pihak ketiga yang sangat mudah dipanggil "permintaan", yang boleh digunakan untuk menghantar mesej kepada permintaan HTTP pelayan lain, dan mengendalikan respons. Modul ini boleh dipasang melalui arahan berikut:
npm install request --save
Selepas pemasangan selesai, anda boleh menggunakan modul dalam kod Node.js, contohnya:
var request = require('request'); request('https://www.baidu.com', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } })
Dalam kod di atas, kami lulus modul permintaan Permintaan GET telah dihantar ke "https://www.baidu.com" dan kod HTML yang dikembalikan telah dikeluarkan dalam fungsi panggil balik. Perlu diingatkan di sini bahawa Node.js adalah tak segerak dan tidak menyekat, jadi program akan terus dilaksanakan sebelum permintaan selesai, dan fungsi panggil balik akan dilaksanakan selepas permintaan selesai.
Di Java, kami boleh menggunakan rangka kerja Spring untuk menyediakan antara muka gaya RESTful untuk Node.js memanggil. Rangka kerja Spring menyediakan satu siri anotasi yang boleh melaksanakan fungsi pengawal pada kaedah Java, seperti:
@RestController public class UserController { @Autowired private UserService userService; @RequestMapping(value = "/users/{id}", method = RequestMethod.GET) public User getUserById(@PathVariable("id") long id){ return userService.getUserById(id); } }
Dalam kod di atas, kami menggunakan anotasi @RestController yang disediakan oleh rangka kerja Spring untuk mengenal pasti kelas sebagai pengawal , dan mentakrifkan antara muka permintaan GET "/users/{id}", parameter antara muka ialah parameter ID pada laluan dan mengembalikan objek Pengguna. Dalam pengawal, kami menyuntik contoh UserService untuk mengendalikan logik perniagaan.
Dalam aplikasi praktikal, kami boleh menggunakan modul permintaan untuk menghantar permintaan HTTP ke antara muka Java. Contohnya:
var request = require('request'); var url="http://localhost:8080/users/1"; request({ url: url, method: "GET" }, function(error, response, body) { console.log(body); });
Dalam kod di atas, kami menghantar permintaan GET ke antara muka Java tempatan "/users/1" dan mengeluarkan data yang dikembalikan dalam fungsi panggil balik. Perlu diingatkan bahawa apabila kami menghantar permintaan, kami perlu menentukan laluan penuh antara muka dan memasukkan kaedah permintaan. Dalam fungsi panggil balik, kita boleh menggunakan parameter data yang dikembalikan "badan" untuk pemprosesan data.
Apabila menggunakan Node.js untuk meminta antara muka Java, anda perlu memberi perhatian kepada perkara berikut:
(1) The Antara muka Java mesti termasuk pemprosesan akses merentas Domain, jika tidak, Node.js tidak akan dapat memperoleh data apabila ia memulakan permintaan.
(2) Node.js perlu mengetahui laluan penuh dan kaedah permintaan antara muka Java untuk menghantar permintaan HTTP.
(3) Antara muka Java perlu mengembalikan format data yang memenuhi keperluan Node.js, seperti data dalam format JSON atau XML.
(4) Permintaan Node.js adalah tidak segerak dan tidak menyekat Anda perlu memberi perhatian kepada susunan pelaksanaan dan logik fungsi panggil balik.
Artikel ini memperkenalkan cara menggunakan Node.js untuk meminta antara muka Java, termasuk contoh penggunaan modul permintaan, mentakrifkan antara muka Java dan panggilan Node.js Antara muka Java dan langkah berjaga-jaga. Dalam aplikasi praktikal, jika kami perlu memaparkan data dalam Java pada halaman hadapan, atau perlu memindahkan operasi pengguna bahagian hadapan ke Java untuk memproses logik perniagaan, kami boleh menggunakan kaedah panggilan ini.
Atas ialah kandungan terperinci nodejs meminta antara muka java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!