最近页在做微信开发,看了一些文章之后发现后台接受消息判断都是逐条if判断消息类型,再执行相应的方法,感觉太low,不爽。
1.传统的开发大致是这样的
//订阅
if("text".equals(msgtType)) {
//
} else if("event".equals(msgtType)) {
//
} else if("degndegn".equals(msgType)) {
//
} //很多if
2这样感觉很费事所以想根据消息类型自动去执行相应的方法,所以想到了反射
2.1在controller中根据消息类型,执行service中的方法,service方法命名以handler开头,消息类型,Msg结尾,如handlerTextMsg,handlerEventMsg等。
/*
* 微信核心接受消息方法
*/
@RequestMapping(value = "/core", method = RequestMethod.POST)
public void core(HttpServletRequest request, HttpServletResponse response) {
try {
//初始化响应
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();