【发布时间】:2015-07-06 16:10:27
【问题描述】:
我正在尝试根据请求将图像发送到前端,如果我将其作为 JSON 的一部分放入请求正文中,它可以工作,但我想使用图像/png,更有意义,但我得到 406当我尝试时。
控制器:
@RequestMapping(value = RESTPaths.EQUIPMENT_FILE_GET_IMAGE + "/{equipmentId}", method = RequestMethod.GET,
produces = MediaType.IMAGE_PNG_VALUE)
public @ResponseBody byte[] insertDataFile(@PathVariable("equipmentId") final Long equipmentId)
throws InternalServerError {
return equipmentFileService.getImage(equipmentId);
}
测试(客户端):
mockMvc.perform(
get(RESTPaths.EQUIPMENT_FILE_CONTROLLER + RESTPaths.EQUIPMENT_FILE_GET_IMAGE + "/" + equipment.getId())
.with(httpBasic("user", "password")).accept(MediaType.IMAGE_PNG)
.contentType(TestUtil.APPLICATION_JSON_UTF8)).andDo(MockMvcResultHandlers.print()).andExpect(status().isOk());
}
我错过了什么?
【问题讨论】:
-
您能否说明您使用的是哪个版本的 Spring,这适用于 4.1 +
标签: spring image bytearray http-status-code-406