All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.yelong.support.spring.mvc.HandlerResponseWay Maven / Gradle / Ivy

Go to download

对各种开源框架的包装、支持、拓展。这里也包含的yelong-core与orm框架的整合。 默认对所有依赖为 scope 为 provided 。您需要针对自己的需要进行再次依赖

There is a newer version: 2.2.0
Show newest version
/**
 * 
 */
package org.yelong.support.spring.mvc;

import java.lang.reflect.Method;

import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.method.HandlerMethod;

/**
 * 处理器响应方式
 * 
 * @author PengFei
 */
public enum HandlerResponseWay {

	/** json格式 */
	JSON,
	/** 视图 */
	MODEL_AND_VIEW;

	/**
	 * 解析处理器响应方式
* * 满足以下条件视为JSON格式。非JSON均视为视图
* 1、处理器方法存在{@link ResponseBody}注解
* 2、处理器方法类上存在{@link ResponseBody}注解
* 3、响应结果为{@link ResponseEntity} * * @param handlerMethod 处理器方法 * @return 处理器方法的相应方式 */ public static HandlerResponseWay handlerResponseWayResolver(HandlerMethod handlerMethod) { Method method = handlerMethod.getMethod(); HandlerResponseWay handlerResponseWay = null; if (method.isAnnotationPresent(ResponseBody.class)) { handlerResponseWay = JSON; } else if (method.getDeclaringClass().isAnnotationPresent(ResponseBody.class)) { handlerResponseWay = JSON; } else if (method.getDeclaringClass().isAnnotationPresent(RestController.class)) { handlerResponseWay = JSON; } else if (method.getReturnType() == ResponseEntity.class) { handlerResponseWay = JSON; ; } else { handlerResponseWay = MODEL_AND_VIEW; } return handlerResponseWay; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy