springmvc Controller对app客户端进行请求版本控制

/**
 * @author tandg
 *
 */
@Controller
public class MainController extends BaseController {
 
 Logger log = Logger.getLogger(MainController.class);
 
 @Autowired
 private UserService userService;
 
 @RequestMapping(value="/login.do")
 public String Login(@RequestParam("v") String version) {
  Method m = null;
  try {
   String currMethodName = Thread.currentThread().getStackTrace()[1].getMethodName();//获取当前请求的方法名
   m = getVersionMethod(currMethodName, version);
   return (String) m.invoke(this);
  } catch (Exception ex) {
   log.error("Abnormal request interface :"+ex.getMessage(), ex);
   JSONObject result = new JSONObject();
   result.put("Fail", "Abnormal request interface :"+ex.getMessage());
   return result.toString();
  }
 }
 
 /**
   * 最新版本登录方法
   */
 public String Login() {
  /**
   * 处理登录业务逻辑代码...
   */
  return null;
 }
 /**
   * 旧版本登录方法
   */
 public String Login1_0() {
  /**
   * 处理登录业务逻辑代码...
   */
  return null;
 }
 
 /**
  * 处理请求参数
  */
 public Map<String, Object> getParamMap(HttpServletRequest req) {
  Map paramMap = new HashMap();
  paramMap.putAll(req.getParameterMap());
  return paramMap;
 }
 
 /**
  * controller 版本选择
  * 
  * @param currMethodName
  * @param version
  * @return
  * @throws SecurityException
  * @throws NoSuchMethodException
  */
 public Method getVersionMethod(String currMethodName, String version)
   throws SecurityException, NoSuchMethodException {
  Class c = this.getClass();
  Method m = null;
  //比对版本,如v=1.0
  if (version.equalsIgnoreCase(ServerConfig.VERSION)) {
   m = c.getMethod(currMethodName);
  } else {
   m = c.getMethod(currMethodName + version);
  }
  return m;
 }
}
时间: 2024-07-29 22:31:06

springmvc Controller对app客户端进行请求版本控制的相关文章

SpringMVC Controller 介绍

一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注

SpringMVC Controller 介绍[转]

原文:http://haohaoxuexi.iteye.com/blog/1753271 SpringMVC Controller 介绍 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用

天弘基金移动App客户端架构优化之路

天弘基金移动App客户端架构优化之路 随着移动互联网时代的到来,移动技术也随之飞速发展.如今,APP已成为绝大多数互联网企业用来获取用户的核心渠道.与此同时,伴随着业务量的增长,愈来愈多的APP也在不断地挑战着每一个移动端研发人员的知识深度,而移动端技术人员也在这个不断接受挑战的过程中,成就了今天的移动互联网时代. 天弘基金作为一家在基金,金融行业高速发展的公司,APP面临着多重挑战,如庞大的用户群体.高频的基金业务.交易安全可靠性等等.天弘基金移动端的开发小伙伴在技术和业务的多重压力下,不断推

[转]SpringMVC Controller介绍及常用注解

一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注

SpringMVC Controller介绍及常用注解

一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注

SpringMVC Controller介绍

SpringMVC Controller 介绍 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMap

【转】SpringMVC Controller 介绍

转自:原文url 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestP

SpringMVC Controller介绍(转)

SpringMVC Controller 介绍 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMap

SpringMVC Controller介绍及常见注解

一.简介 在SpringMVC中,控制器Controller负责处理由DispatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model,然后再把该Model返回给对应的View进行展示.在SpringMVC中提供了一个非常简单的定义Controller的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller标记一个类是Controller,然后使用@RequestMapping和@RequestParam等一些注解用以定义URL请求和C