PHP-Editor Banana beantwortet eine Frage zum Spring Framework: Verarbeitet RestClient @RequestParam? Wenn Sie in Spring Framework RestTemplate verwenden, um eine HTTP-Anfrage zu stellen, wird die Annotation @RequestParam verwendet, um Parameter aus der Anfrage-URL abzurufen. Kann RestClient also die @RequestParam-Annotation korrekt verarbeiten? Als Nächstes werden wir dieses Problem im Detail untersuchen, um Ihnen zu helfen, RestClient im Spring Framework besser zu verstehen und zu verwenden.
Ich habe Folgendes versucht:
@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>
Aber ich kann kein Codebeispiel finden, das zeigt, wie Restclient Owneremail als @requestparam übergeben kann.
Ich habe ein @pathvariable-Codebeispiel gefunden.
Verarbeitet restclient also @requestparam?
Für Get-Anfragen können Sie Abfrageparameter in der URL hinzufügen. Spring's uricomponentsbuilder
vereinfacht die Bedienung von uri.
restclient.get() .uri(uricomponentsbuilder.frompath("/db/video/getall") .queryparam("owneremail", "email").touristring()) // ...
Für Post-Anfragen kann der Text auf multivaluemap
eingestellt werden. Der Inhaltstyp kann aus seinem Inhalt abgeleitet werden.
var parts = new LinkedMultiValueMap<String, Object>(); parts.add("ownerEmail", "emailValue"); restClient.post().uri("/db/video/getall").body(parts).retrieve().body(...);
Das obige ist der detaillierte Inhalt vonspringframework.web.client Ob RestClient @requestParam verarbeitet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!