Saya pada masa ini mempunyai yang berikut dalam fail javascript reactjs saya
details.js respons const = tunggu ambil('pengguna');
Ini akan memanggil pengawal mvc di bawah
UsersController.cs
baca peribadi ILoggerpublic userController(ILogger logger) { _logger = pembalak; } [HttpGet] awam IEnumerable { }
Masalahnya ialah pengambilan memanggil kaedah Dapatkan. Bagaimanakah cara saya memanggil kaedah lain dalam pengawal? Jadi jika saya juga mempunyai beberapa kaedah seperti ini:
[HttpPost] IEnumerable} [HttpPost] awam IEnumerable (nama rentetan, Id rentetan) { } [HttpId] awam IEnumerable (rentetan nama pertama, rentetan nama akhir, rentetan companyId) { }
Bagaimanakah saya boleh memanggil kaedah ini daripada fail details.js?
Seperti yang berikut?
const response = await fetch('users/UserInfo' ?
Anda perlu memberitahu rangka kerja .NET tentang parameter titik akhir dan menggunakan kaedah HTTP yang betul untuk membuat panggilan. Contohnya, menukar sedikit kod, anda boleh menggunakan parameter Id kaedah UserDetails sebagai segmen URL:
AtributHttpPost memberitahu Rangka Kerja .NET bahawa ini ialah titik akhirPOST. Perhatikan bahagian {Id} dalam atribut HttpPost. Ia adalah pemegang tempat dan anda harus menggantikannya dengan ID sebenar apabila memanggil titik akhir. Untuk memanggil titik akhir ini, anda perlu menghantar permintaan HTTP POST ke titik akhir"users/123", dengan bahagian "123" adalah pengganti untuk pemegang tempat {Id}. Berikut adalah contoh:
URL titik akhir juga boleh mengandungi parameter rentetan pertanyaan. Sebagai contoh, berikut ialah cara untuk memanggil titik akhir UserInfo menggunakan parameter rentetan pertanyaan:
Perhatikan bahawa kami menambahkan atribut FromQuery pada parameter "nama" kaedah UserInfo. Atribut FromQuery memberitahu Rangka Kerja .NET bahawa URL harus mengandungi parameter rentetan pertanyaan bernama nama. URL titik akhir anda akan menjadi"users/123?name=john", dengan "123" ialah pengganti bagi pemegang tempat {Id} dan name=john ialah parameter rentetan pertanyaan "nama" yang diberikan kepada "john" .