-
-
Notifications
You must be signed in to change notification settings - Fork 9k
Description
用法:WxMenu wxMenu = WxMenu.fromJson(ZoeProperties.getMenuJson());
menujson:
{
"button": [
{
"type": "view",
"name": "新刊速递",
"url": "http://mp.weixin.qq.com/mp/homepage?__biz=MzA5MjY0NzcwMw==&hid=22&sn=b6c0c5f5ae4fedf2bc0c7af4f2b50dcd#wechat_redirect"
},
{
"type": "click",
"name": "内容精选",
"sub_button": [
{
"type": "view",
"name": "本月书单",
"url": "http://mp.weixin.qq.com/mp/homepage?__biz=MzA5MjY0NzcwMw==&hid=18&sn=11c0ea623c582e0963a4ce9f6164c1a8#wechat_redirect"
},
{
"type": "view",
"name": "优秀智业人",
"url": "http://mp.weixin.qq.com/mp/homepage?__biz=MzA5MjY0NzcwMw==&hid=6&sn=0c413aa54b962a4114695944569339a6#wechat_redirect"
},
{
"type": "view",
"name": "精选合集",
"url": "http://mp.weixin.qq.com/mp/homepage?__biz=MzA5MjY0NzcwMw==&hid=4&sn=249ef809e6b218ca621ff7ce324c1610#wechat_redirect"
}
]
},
{
"name": "尾牙年会",
"sub_button": [
{
"type": "click",
"name": "节目单",
"key": "card"
},
{
"type": "click",
"name": "签到",
"key": "sign"
},
{
"type": "click",
"name": "评论上墙",
"key": "comment"
},
{
"type": "click",
"name": "投票",
"key": "vote"
}
]
}
]
}
报错信息:
18:16:32.948 [http-apr-9090-exec-28] DEBUG m.c.weixin.mp.api.WxMpMessageRouter - End session access: async=false, sessionId=oChiIs25opLJaN61eKr1jx8Ir2oA
18:16:35.366 [http-apr-9090-exec-26] ERROR c.z.weiya.controller.AuthController - [TrackingId = 17f4ba3a16db452bae5e459baa6b6264] error
java.lang.NullPointerException: null
at me.chanjar.weixin.common.util.json.WxMenuGsonAdapter.deserialize(WxMenuGsonAdapter.java:87) ~[weixin-java-common-2.4.0.jar:na]
at me.chanjar.weixin.common.util.json.WxMenuGsonAdapter.deserialize(WxMenuGsonAdapter.java:30) ~[weixin-java-common-2.4.0.jar:na]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.7.jar:na]
at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.7.jar:na]
at com.google.gson.Gson.fromJson(Gson.java:852) ~[gson-2.7.jar:na]
at com.google.gson.Gson.fromJson(Gson.java:801) ~[gson-2.7.jar:na]
at com.google.gson.Gson.fromJson(Gson.java:773) ~[gson-2.7.jar:na]
at me.chanjar.weixin.common.bean.menu.WxMenu.fromJson(WxMenu.java:31) ~[weixin-java-common-2.4.0.jar:na]
at com.zoe.weiya.controller.MenuController.createMenu(MenuController.java:50) ~[MenuController.class:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_74]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_74]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_74]
at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_74]
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) [spring-web-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) [spring-web-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) [servlet-api.jar:na]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) [servlet-api.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.63]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.63]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat7-websocket.jar:7.0.63]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.63]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.63]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) [spring-web-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.63]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.63]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.63]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.63]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [catalina.jar:7.0.63]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.63]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.63]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957) [catalina.jar:7.0.63]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.63]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) [catalina.jar:7.0.63]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) [tomcat-coyote.jar:7.0.63]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620) [tomcat-coyote.jar:7.0.63]
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2516) [tomcat-coyote.jar:7.0.63]
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2505) [tomcat-coyote.jar:7.0.63]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_74]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.63]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_74]