Проблема: при использовании обычных аннотаций параметры не могут быть правильно получены из запроса, отправленного внешним интерфейсом, и проблема не может быть найдена. Вам необходимо получить все тела запроса, а затем получить параметры самостоятельно.
Метод получения параметров аналогичен методу веб-пакета. Просто введите serverHttpRequst в позицию параметра метода контроллера, и платформа автоматически внедрит запрос. Однако запросы, полученные serverHttpRequst, здесь ограничены содержимым. тело обычного запроса, а также метод метода. Однако если внешний интерфейс передает параметры через данные формы, serverHttpRequst узнает, что тело имеет значение null. Поэтому необходимо получить содержимое запроса более высокого уровня ServerWebExchange. Получите параметры данных формы через ServerWebExchange и проверьте их.
@RequestMapping(value = "/uploadhead")
public Object uploadhead(ServerWebExchange exchange) throws IOException {
Map<String, String> stringStringMap = exchange.getRequest().getHeaders().toSingleValueMap();
log.info("map:{}", stringStringMap);
//Печатающая головка
Mono<MultiValueMap<String, String>> formData = exchange.getFormData();
//Получаем содержимое в form-data
formData.subscribe(map -> {
Map<String, String> formMap = map.toSingleValueMap();
log.info("formData:{}", formMap);
});
//Если вы хотите получить тело сообщения или запрос, получите его с помощью метода Exchange.getRequest().getBody()
Map<String, String> queryParams = exchange.getRequest().getQueryParams().toSingleValueMap();
log.info("queryParams:{}", queryParams);
URI uri = exchange.getRequest().getURI();
log.info("uri:{}", uri);
return exchange.getMultipartData().map(data -> {
Map<String, Part> multipartData = data.toSingleValueMap();
log.info("multipartData:{}", multipartData);
try {
return chessService.uploadhead(multipartData);
//Здесь вы получаете карту всех параметров, полученных в данных формы. Если вам нужно ее распечатать или использовать, это зависит от того, как вы справляетесь с потребностями своего бизнеса.
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
);
Post Views: 4,645