This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-argus-service/src/main/java/com/nis/restful/CustomRequestMappingHandlerMapping.java

42 lines
1.5 KiB
Java
Raw Normal View History

2017-12-19 14:55:52 +08:00
/**
* @Title: CustomRequestMappingHandlerMapping.java
* @Package com.nis.restful
* @Description: TODO(扩展原有hadlerMapping)
* @author darnell
* @date 2016年8月15日 上午10:26:34
* @version V1.0
*/
package com.nis.restful;
import java.lang.reflect.Method;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.web.servlet.mvc.condition.RequestCondition;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
/**
* @ClassName: CustomRequestMappingHandlerMapping
* @Description: TODO(影射扩展版本号自定义)
* @author (darnell)
* @date 2016年8月15日 上午10:26:34
* @version V1.0
*/
public class CustomRequestMappingHandlerMapping extends RequestMappingHandlerMapping {
@Override
protected RequestCondition<ApiVersionCondition> getCustomTypeCondition(Class<?> handlerType) {
ApiVersion apiVersion = AnnotationUtils.findAnnotation(handlerType, ApiVersion.class);
return createCondition(apiVersion);
}
@Override
protected RequestCondition<ApiVersionCondition> getCustomMethodCondition(Method method) {
ApiVersion apiVersion = AnnotationUtils.findAnnotation(method, ApiVersion.class);
return createCondition(apiVersion);
}
private RequestCondition<ApiVersionCondition> createCondition(ApiVersion apiVersion) {
return apiVersion == null ? null : new ApiVersionCondition(apiVersion.value());
}
}