提交请求
提交请求
GET请求
Mono<String> stringMono = WebClient.create()
.get()
.uri("https://jsonplaceholder.typicode.com/posts/1")
.cookie("name", "zhangsan")
.header("token", "123")
.headers(httpHeaders -> {
httpHeaders.add("name", "zhangsan");
httpHeaders.add("token", "123");
})
.retrieve().bodyToMono(String.class);
stringMono.subscribe(
System.out::println,
throwable -> System.out.println("error"),
() -> System.out.println("complete"));
POST 请求
提交json数据
Mono<String> stringMono = WebClient.create()
.post()
.uri("https://jsonplaceholder.typicode.com/posts")
.contentType(MediaType.APPLICATION_JSON)
.bodyValue(Map.of("name", "zhangsan"))
.retrieve().bodyToMono(String.class);
stringMono.subscribe(
System.out::println,
throwable -> System.out.println("error"),
() -> System.out.println("complete"));
提交表单数据
MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
formData.add("name", "张三");
Mono<String> stringMono = WebClient.create()
.post()
.uri("https://jsonplaceholder.typicode.com/posts")
.contentType(MediaType.APPLICATION_FORM_URLENCODED)
.bodyValue(formData)
.retrieve().bodyToMono(String.class);
stringMono.subscribe(
System.out::println,
throwable -> System.out.println("error"),
() -> System.out.println("complete"));
上传文件
String url = "https://httpbin.org/post";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_PNG);
HttpEntity<ClassPathResource> entity = new HttpEntity<>(new ClassPathResource("test.png"), headers);
MultiValueMap<String, Object> parts = new LinkedMultiValueMap<>();
parts.add("file", entity);
Mono<String> resp = WebClient.create().post()
.uri(url)
.contentType(MediaType.MULTIPART_FORM_DATA)
.body(BodyInserters.fromMultipartData(parts))
.retrieve().bodyToMono(String.class);
Thread.sleep(4000);
最后更新于
这有帮助吗?