实际上我正在尝试为我的办公室食堂制作一个Android应用程序,因为Spring Web应用程序已经存在。在Android应用中,我显示了该特定日期的所有可用项目。员工将填写相应项目的数量,然后提交。为此我在Spring控制器中创建了一个webService,我可以通过REST访问android app中的所有项目(使用getForObject
)。我已经将EditText的id作为item_id(使用rest从远程数据库中获取),每当用户点击下订单时,我创建一个HashMap,我将item_id,订购所有项目的qty。但我面临的问题是使用rest将HashMap发送到Spring Web应用程序。我尝试发送使用restTemplate.getForObject("http://172.16.1.2/webapp/rest/restPlaceOrder?order="+order, List.class);
。但是它以...... / restPlaceOrder的形式接收?order = {1 = 2,2 = 7,8 = 4}。正如你所说,我应该使用postForObject而不是getForObject。现在我尝试使用postForObject并在spring控制器中使用@RequestBody。但是现在每当我在spring控制器中使用@RequestBody时,android restclient就会出现不支持的媒体类型的错误。所以请帮我用postForObject发送HashMap并在spring控制器中捕获相同的东西。我在Android客户端使用代码
HashMap<Integer, Integer> order=new HashMap<Integer, Integer>();
order.put(1, 5); order.put(2, 4);
String url="http://172.16.1.2/webapp/rest/restPlaceOrder"
RestTemplate restTemplate1=new RestTemplate();
restTemplate1.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
List<LinkedHashMap> res=restTemplate1.postForObject(url, null, List.class, order);
在Spring Controller中的Web应用程序中,我正在使用
@RequestMapping(value="/restPlaceOrder", method= {RequestMethod.GET, RequestMethod.POST}, headers="Accept=application/json")
public @ResponseBody List<Schedule> placeOrder(@RequestBody HashMap<Integer, Integer> order, HttpServletRequest request, HttpServletResponse response, Model m){
System.out.println("welcome taking request");
/*problem is whenever i put @RequestBody, Restclient shows unsupported media type and if I remove @RequestBody, then it works but then how to get that HashMap here */
List<Schedule> sc=new ArrayList();
return sc;
}
答案 0 :(得分:0)
使用@RequestParam
$imagick = new Imagick($_FILES['file']['tmp_name']);
foreach ($imageFolders as $imageFolder => $size) {
if ($imagick->getImageWidth() > $size['minWidth']) {
$width = $size['maxWidth'];
$height = $size['maxWidth'];
} else {
$width = $imagick->getImageWidth();
$height = $imagick->getImageHeight(
}
$imagick = $imagick->coalesceImages();
foreach($imagick as $frame){
$frame->thumbnailImage($width , $height );
$frame->setImagePage($width , $height , 0, 0);
}
$imagick = $imagick->deconstructImages();
$imagick->writeImages($imagePath, true);
}
$imagick->clear();
$imagick->destroy();