Pisang Editor PHP akan menjawab soalan tentang Rangka Kerja Spring: Adakah RestClient mengendalikan @RequestParam? Dalam Rangka Kerja Spring, apabila menggunakan RestTemplate untuk membuat permintaan HTTP, anotasi @RequestParam digunakan untuk mendapatkan parameter daripada URL permintaan. Jadi bolehkah RestClient mengendalikan anotasi @RequestParam dengan betul? Seterusnya, kami akan meneroka isu ini secara terperinci untuk membantu anda memahami dan menggunakan RestClient dalam Rangka Kerja Spring dengan lebih baik.
Saya mencuba ini:
@getmapping("/db/video/getall") public responseentity<list<videodto>> getallvideo(@requestparam string owneremail) { return ....; }
import org.springframework.web.client.restclient; restclient restclient = restclient.create("http://localhost:8095"); list<videodto> result = restclient.get() .uri("/db/video/getall") .accept(mediatype.application_json) .retrieve() .body(new parameterizedtypereference<list<videodto>>() {});
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>6.1.2</version> </dependency>
Tetapi saya tidak menemui contoh kod yang menunjukkan cara pelanggan lain boleh menghantar e-mel pemilik sebagai @requestparam.
Saya menjumpai contoh kod @pathvariable.
Jadi, adakah restclient mengendalikan @requestparam?
Untuk mendapatkan permintaan, anda boleh menambah parameter pertanyaan dalam url. Spring's uricomponentsbuilder
memudahkan operasi uri.
restclient.get() .uri(uricomponentsbuilder.frompath("/db/video/getall") .queryparam("owneremail", "email").touristring()) // ...
Untuk permintaan pos, badan boleh set ke multivaluemap
. Jenis kandungan boleh disimpulkan daripada kandungannya.
var parts = new LinkedMultiValueMap<String, Object>(); parts.add("ownerEmail", "emailValue"); restClient.post().uri("/db/video/getall").body(parts).retrieve().body(...);
Atas ialah kandungan terperinci springframework.web.client Sama ada RestClient mengendalikan @requestParam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!