尝试与webclient进行请求时遇到问题。
服务器仅支持 内容类型:application / json;字符集= UTF-8
这是我的webclient配置,但是我总是收到错误: 415不支持的媒体类型
LinkedMultiValueMap mapBody = new LinkedMultiValueMap();
List<String> ingredientsList = new ArrayList<String>();
ingredientsList.add("200g Lentejas 20g chorizo");
mapBody.add("title", "lentejas con chorizo");
mapBody.add("ingr", ingredientsList);
BodyInserters.MultipartInserter inserterBody = BodyInserters.fromMultipartData(mapBody);
WebClient webClient = WebClient.create(this.api_nutrition_uri);
Mono<NutritionResModel> response = webClient
.post()
.uri(uriBuilder -> uriBuilder
.path("/api/nutrition-details")
.queryParam("app_id", api_nutrition_appId)
.queryParam("app_key", api_nutrition_appKey)
.build())
//.headers(httpHeaders -> httpHeaders.add("Content-Type", "application/json;charset=UTF-8"))
//.accept(MediaType.APPLICATION_JSON_UTF8)
.contentType(MediaType.APPLICATION_JSON_UTF8)
.body(inserterBody)
//.header("Content-Type", "application/json")
.retrieve()
//.doOnSuccess(clientResponse -> System.out.println("clientResponse.statusCode() = " + clientResponse.headers()))
//.doOnSuccess(clientResponse -> System.out.println("clientResponse.statusCode() = " + clientResponse.statusCode()))
//.flatMap(clientResponse -> clientResponse.bodyToMono(NutritionResModel.class));
.bodyToMono(NutritionResModel.class);
我不知道如何在标题中发送内容类型数据以确保结果正确
谢谢!