四时宝库

程序员的知识宝库

SpringMVC返回图片的几种方式(springmvc三种返回方式)

SpringMVC返回图片的几种方式

后端提供服务,通常返回的json串,但是某些场景下可能需要直接返回二进制流,如一个图片编辑接口,希望直接将图片流返回给前端,此时可以怎么处理?

I. 返回二进制图片

Java实现在线SQL编程(完整版)(java+sql)

解决SpringMVC使用ResponseBody返回JSON在IE浏览器出现下载文件

先看一个Controller方法

@ResponseBody

@RequestMapping(value = "/getUserById/{id}",method = {RequestMethod.GET})

public User getUserById(@PathVariable int id, HttpServletRequest request, HttpServletResponse response, Model model){

安卓okhttp3与服务器通过json数据交互解析与上传

首先是安卓端,我主要上传一个User对象,下面是安卓端的代码通过okhttp3,gson编译成json格式上传

需要引用

compile 'com.google.code.gson:gson:2.8.1'

EXTJS与java后台交互之JSON使用(java与excel)

介绍在没有调用Java方法,没有返回值的情况下获取Java的返回信息.就要用到的Extjs的submit配置项---success和failure来进行配置.

Ext.form.Action.Submit的配置选项success、failure是根据返回json中success属性判断的,如果success为true,则success,false则failure,如果无json中无success属性,failure,故要提示操作是否成功,必须要返回success属性。

spring security使用总结(含csrf和remember)

概述

Spring Security是为Java应用程序提供身份验证和授权 。

SpringMVC 方法四种类型返回值总结,你用过几种?

SpringMVC 现在算是 Java 领域的一个基础性框架了,很多人天天用,可是对于 SpringMVC 方法的返回值,你又是否完全清楚呢?今天松哥就来和大家聊一聊 SpringMVC 中四种不同类型的返回值,看看有没有 get 到你的知识盲点?

1. ModelAndView

以前前后端不分的情况下,ModelAndView 应该是最最常见的返回值类型了,现在前后端分离后,后端都是以返回 JSON 数据为主了。后端返回 ModelAndView 这个比较容易理解,开发者可以在 ModelAndView 对象中指定视图名称,然后也可以绑定数据,像下面这样:

springboot统一错误异常根据情况返回json或页面

实现方案

在请求control时加一个前置拦截器,在preHandle中得到HandlerMethod,判断请求的Controller的method的返回类型,
以及请求的Controller方法是否使用的@RestController或者@ResponBody注解。若满足以上条件则抛出异常时,
应该以json格式的报错信息,否则返回错误页面。
写一个拦截器类
/**
 * 判断Controller的返回类型,是json还是view
 */
@Component
public class MyExceptionPreHandleInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if (!(handler instanceof HandlerMethod)) {
            return true;
        }
        
		
		//默认设置为页面返回模式
		request.setAttribute("my_return_is_view", true);
		
		
		if(hm.getBeanType().isAnnotationPresent(RestController.class)) {
			//有RestController的类注解的类里面的method一定是返回json
            request.setAttribute("my_return_is_view", false);
        }else{
			Method method = hm.getMethod();
			if (method.isAnnotationPresent(ResponseBody.class)) {
			//有ResponseBody的类注解的方法一定是返回json
				request.setAttribute("my_return_is_view", false);
			}
		}
        
       
        return true;
    }
}

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

推荐阅读:

SpringMVC-方法四种类型返回值总结,你用过几种?

SpringMVC 现在算是 Java 领域的一个基础性框架了,很多人天天用,可是对于 SpringMVC 方法的返回值,你又是否完全清楚呢?今天松哥就来和大家聊一聊 SpringMVC 中四种不同类型的返回值,看看有没有 get 到你的知识盲点?

1. ModelAndView

以前前后端不分的情况下,ModelAndView 应该是最最常见的返回值类型了,现在前后端分离后,后端都是以返回 JSON 数据为主了。后端返回 ModelAndView 这个比较容易理解,开发者可以在 ModelAndView 对象中指定视图名称,然后也可以绑定数据,像下面这样:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接