问题描述
- springmvc restTemplate 415错误
-
小弟这2天在一个项目中需要调用别的项目接口。我使用的是spring中的restTemplate方法。
其中相关代码如下:MultiValueMap<String, String> uriVariables = new LinkedMultiValueMap<String, String>(); uriVariables.add("message", JSONObject.fromObject(msg).toString()); uriVariables.add("userId", police.getUserId()); System.out.println("uriVariables=" + uriVariables); String mqttClient = restTemplate.postForObject( "http://192.168.1.102:8080/base/mqtt/insertMqttMessage.do", null, String.class, uriVariables);
被调用的方法如下:
@RequestMapping(value = "/mqtt/insertMqttMessage.do", method = RequestMethod.POST, consumes="application/json;charset=utf-8") @ResponseBody public String insertMQTTMessage(HttpServletRequest request, HttpServletResponse response, @RequestBody MultiValueMap<String, String> uriVariables) throws Exception { Map<String, Object> result = new HashMap<String, Object>(); System.out.println("进入MQTT接口 uriVariables=" + uriVariables); return "success"; }
在测试过程中,因为是在不同的项目中,所以我使用的是map传递参数。接受也是。
在当前情况下调用会报**415 Unsupported Media Type**错误。当我把参数之前的**@RequestBody**删掉时,不报错,但是打印出来的参数为空。当把接受参数改成一个具有相应字段的javabean时,也是报415错误。
纠结了一天没找到解决办法,求高手帮忙下,谢谢。
时间: 2024-10-28 09:09:46