第一种: 用响应流的方式
reps.setContentType("image/webp;charset=utf-8"); PrintWriter writer = null; try { writer = reps.getWriter(); } catch (IOException e) { e.printStackTrace(); } writer.print("asdssd");
第二种:请求对象内设置媒体类型 req是HttpServletRequest对象
Set<MediaType> mediaTypeSet = new HashSet<>();
MediaType mediaType = new MediaType("application", "json", Charset.forName("utf-8"));
mediaTypeSet.add(mediaType);
req.setAttribute(HandlerMapping.PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, mediaTypeSet);
//AbstractMessageConverterMethodProcessor#getProducibleMediaTypes springMVC这个方法会调用这个设置的参数。
return message;
第二种方式其实和@RequestMapping或者@GetMapping @PostMapping
@GetMapping(value = "/hello", produces = "application/json; charset=gbk")
这样的方式是一样的效果