{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":821658925,"defaultBranch":"main","name":"examples","ownerLogin":"destinl","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-06-29T04:43:23.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/111584891?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1719638111.0","currentOid":""},"activityList":{"items":[{"before":"02a62382150e1d3a7893351678f6710c932e8635","after":"5be85835d6f8fea2bf9beedbc9a16ff34ceba8ce","ref":"refs/heads/main","pushedAt":"2024-09-18T14:18:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"Token-Refresh-demo:token简单实践:无感刷新token(通过过期时间与现在时间之差来得出还有多久过期,如果前端表单一直没提交数据请求,可采用前端缓存表单数据,后端请求先返回登录页或新token等,再转回表单数据页)","shortMessageHtmlLink":"Token-Refresh-demo:token简单实践:无感刷新token(通过过期时间与现在时间之差来得出还有多久过期,如果前端表单一…"}},{"before":"668803d118848c740876a5bfa6dbe7d0518616fd","after":"02a62382150e1d3a7893351678f6710c932e8635","ref":"refs/heads/main","pushedAt":"2024-09-16T14:32:01.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"ThreadLocal详解","shortMessageHtmlLink":"ThreadLocal详解"}},{"before":"4106b8d3927f3797ed5bce81bff7b5d6ab798bc2","after":"668803d118848c740876a5bfa6dbe7d0518616fd","ref":"refs/heads/main","pushedAt":"2024-09-15T15:32:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"JWT-demo简单实践:拦截器判断token","shortMessageHtmlLink":"JWT-demo简单实践:拦截器判断token"}},{"before":"115395e180746de7ba3e6ec037450a1dc910c8c7","after":"4106b8d3927f3797ed5bce81bff7b5d6ab798bc2","ref":"refs/heads/main","pushedAt":"2024-09-14T14:57:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"CAS-demo实践: web核心检验模块(登录拦截+从redis取ticket+把ticket加载进session中)","shortMessageHtmlLink":"CAS-demo实践: web核心检验模块(登录拦截+从redis取ticket+把ticket加载进session中)"}},{"before":"b7d3ea20ebf9982ceb8f405fd585f1810226db70","after":"115395e180746de7ba3e6ec037450a1dc910c8c7","ref":"refs/heads/main","pushedAt":"2024-09-12T14:59:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"Spring状态机实践:Spring Statemachine:报错(Bean 'org.springframework.statemachine.config.configuration.StateMachineAnnotationPostProcessorConfiguration' of type [org.springframework.statemachine.config.configuration.StateMachineAnnotationPostProcessorConfiguration$$SpringCGLIB$$0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying). The currently created BeanPostProcessor [org.springframework.statemachine.processor.stateMachineAnnotationPostProcessor] is declared through a non-static factory method on that class; consider declaring it as static instead)、(WARN 13824 --- [StateMachine-demo] [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderController': Injection of resource dependencies failed)","shortMessageHtmlLink":"Spring状态机实践:Spring Statemachine:报错(Bean 'org.springframework.statemac…"}},{"before":"ed3f5274f1a3f389347839c8cbef5cd5c4b61238","after":"b7d3ea20ebf9982ceb8f405fd585f1810226db70","ref":"refs/heads/main","pushedAt":"2024-09-11T15:32:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"Spring状态机实践:未完","shortMessageHtmlLink":"Spring状态机实践:未完"}},{"before":"e30fc4479922c2265ad0003d44d820fb2e4d1f68","after":"ed3f5274f1a3f389347839c8cbef5cd5c4b61238","ref":"refs/heads/main","pushedAt":"2024-09-10T15:16:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"com.alibaba.fastjson2 解析 JSON文件,转换为指定格式","shortMessageHtmlLink":"com.alibaba.fastjson2 解析 JSON文件,转换为指定格式"}},{"before":"b3a01377deae0ba9d96f080629445f092554482b","after":"e30fc4479922c2265ad0003d44d820fb2e4d1f68","ref":"refs/heads/main","pushedAt":"2024-09-09T15:15:42.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"RouterFunction报错Failed to connect to localhost/127.0.0.1:8080(springboot版本问题?)","shortMessageHtmlLink":"RouterFunction<ServerResponse>报错Failed to connect to localhost/127.0.…"}},{"before":"8d39da18b6137535021a59b4d0a6210c57484fbe","after":"b3a01377deae0ba9d96f080629445f092554482b","ref":"refs/heads/main","pushedAt":"2024-09-08T15:31:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"1.Caffeine-demo模块:try controller处理请求方法:route()","shortMessageHtmlLink":"1.Caffeine-demo模块:try controller处理请求方法:route()"}},{"before":"fb6d78207d0ba1774900f52385e8b6e027d9170b","after":"8d39da18b6137535021a59b4d0a6210c57484fbe","ref":"refs/heads/main","pushedAt":"2024-09-07T15:12:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"1.mall-tiny-sa-token模块:sa-token微服务实践(数据库信息)\n2.删除Sentinel-demo模块","shortMessageHtmlLink":"1.mall-tiny-sa-token模块:sa-token微服务实践(数据库信息)"}},{"before":"81a294d115e057c81fd50976ce8b9813c50ce1ab","after":"fb6d78207d0ba1774900f52385e8b6e027d9170b","ref":"refs/heads/main","pushedAt":"2024-09-06T15:15:09.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"1.Jasypt-demo模块:jasypt-spring-boot实践3:日志脱敏-自定义 Logger","shortMessageHtmlLink":"1.Jasypt-demo模块:jasypt-spring-boot实践3:日志脱敏-自定义 Logger"}},{"before":"1cbebf4ecde9f8c6f661b60b3133a47008da8e2e","after":"81a294d115e057c81fd50976ce8b9813c50ce1ab","ref":"refs/heads/main","pushedAt":"2024-09-05T14:55:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"1.Jasypt-demo模块:jasypt-spring-boot实践1:配置文件脱敏\n2.:删除InterfaceLimit-demo模块","shortMessageHtmlLink":"1.Jasypt-demo模块:jasypt-spring-boot实践1:配置文件脱敏"}},{"before":"70ca9b1c1d4d488e1460596089877e8d3ba0fd07","after":"1cbebf4ecde9f8c6f661b60b3133a47008da8e2e","ref":"refs/heads/main","pushedAt":"2024-09-04T13:51:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"1.InterfaceLimit-demo模块:接口防抖(防重复提交)(1.使用共享缓存;2.使用分布式锁)(redis和redisson不能同时启用)","shortMessageHtmlLink":"1.InterfaceLimit-demo模块:接口防抖(防重复提交)(1.使用共享缓存;2.使用分布式锁)(redis和redisson…"}},{"before":"46d8f25838936e1cca20fa44aa2966b25e49a1b4","after":"70ca9b1c1d4d488e1460596089877e8d3ba0fd07","ref":"refs/heads/main","pushedAt":"2024-09-03T14:52:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"1.InterfaceLimit-demo模块:接口防抖(防重复提交)(1.使用共享缓存;2.使用分布式锁)(从测试的结果上看,防抖是做到了,但是随着缓存消失、锁失效,还是可以发起同样的请求,所以要真正做到接口幂等性,还需要业务代码的判断、设置数据库表的UK索引等操作。)","shortMessageHtmlLink":"1.InterfaceLimit-demo模块:接口防抖(防重复提交)(1.使用共享缓存;2.使用分布式锁)(从测试的结果上看,防抖是做到…"}},{"before":"d3c2af3b8dc78d8b7007c5c2a60e154df9886832","after":"46d8f25838936e1cca20fa44aa2966b25e49a1b4","ref":"refs/heads/main","pushedAt":"2024-09-02T15:28:34.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"1.WebFlux-demo:Spring Boot 中整合 Reactive Web 开发实践\n2.删除Mybatis-demo模块","shortMessageHtmlLink":"1.WebFlux-demo:Spring Boot 中整合 Reactive Web 开发实践"}},{"before":"b6809cc02f2686227808af42280b52c69f77e021","after":"d3c2af3b8dc78d8b7007c5c2a60e154df9886832","ref":"refs/heads/main","pushedAt":"2024-09-01T15:24:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"1.Async-demo模块:SpringBoot异步接口实现\n2.删除RequestBodyAdvice-demo","shortMessageHtmlLink":"1.Async-demo模块:SpringBoot异步接口实现"}},{"before":"c57fe0dc50be6ab82b504050e66395e0fa3c3abc","after":"b6809cc02f2686227808af42280b52c69f77e021","ref":"refs/heads/main","pushedAt":"2024-08-31T15:39:04.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"RequestBodyAdvice-demo模块:HandlerMethodArgumentResolver 使用(spring-webmvc5.3.18版本跟6.1.12有冲突,用了就会所有请求报HTTP Status 404 – Not Found错误页面)","shortMessageHtmlLink":"RequestBodyAdvice-demo模块:HandlerMethodArgumentResolver 使用(spring-webm…"}},{"before":"71e36c6f8f652f4a662551cafd5770e4a6421139","after":"c57fe0dc50be6ab82b504050e66395e0fa3c3abc","ref":"refs/heads/main","pushedAt":"2024-08-30T16:04:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"删除LoginLimit-demo模块","shortMessageHtmlLink":"删除LoginLimit-demo模块"}},{"before":"1d0b9d2b7bc25fd198c0b91641d4f1fcbb63b892","after":"71e36c6f8f652f4a662551cafd5770e4a6421139","ref":"refs/heads/main","pushedAt":"2024-08-29T14:31:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"三次输错密码后,系统是怎么做到不让我继续尝试的?","shortMessageHtmlLink":"三次输错密码后,系统是怎么做到不让我继续尝试的?"}},{"before":"a76390485330694e249f83a8c85509e314ed246c","after":"1d0b9d2b7bc25fd198c0b91641d4f1fcbb63b892","ref":"refs/heads/main","pushedAt":"2024-08-28T14:52:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"SpringBoot 解决跨域请求:采用过滤器的方式全局配置、通过全局配置类实现跨域访问、通过CrossOrigin注解实现跨域访问","shortMessageHtmlLink":"SpringBoot 解决跨域请求:采用过滤器的方式全局配置、通过全局配置类实现跨域访问、通过CrossOrigin注解实现跨域访问"}},{"before":"207da483fb2568f1a1356136d784085e1de81702","after":"a76390485330694e249f83a8c85509e314ed246c","ref":"refs/heads/main","pushedAt":"2024-08-27T14:57:15.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"3种方法实现定时删除未支付订单:spring定时任务、消息队列延迟/过期消息、redis监听过期事件、","shortMessageHtmlLink":"3种方法实现定时删除未支付订单:spring定时任务、消息队列延迟/过期消息、redis监听过期事件、"}},{"before":"895b0ab18e56143c9e390cdd66b71e7659a419f7","after":"207da483fb2568f1a1356136d784085e1de81702","ref":"refs/heads/main","pushedAt":"2024-08-26T14:53:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"SpringBoot优雅的控制JSON数据:Jackson相关注解实践","shortMessageHtmlLink":"SpringBoot优雅的控制JSON数据:Jackson相关注解实践"}},{"before":"546c7a495a2ee40e6e5967ad8d267a8debe622d7","after":"895b0ab18e56143c9e390cdd66b71e7659a419f7","ref":"refs/heads/main","pushedAt":"2024-08-25T12:19:41.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"Slf4j和redisson依赖","shortMessageHtmlLink":"Slf4j和redisson依赖"}},{"before":"baa07d92c5aadc687439201bb3a41e89686c89bd","after":"546c7a495a2ee40e6e5967ad8d267a8debe622d7","ref":"refs/heads/main","pushedAt":"2024-08-24T14:08:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"在SpringBoot中拦截修改请求Body的正确方式\n(因为HtmlUtils.htmlEscape不正确使用,基于Filter实现和通过AOP实现会报错:JSON parse error: Unrecognized token 'java': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')),使用拦截器会返回原请求体","shortMessageHtmlLink":"在SpringBoot中拦截修改请求Body的正确方式"}},{"before":"8adc8c59d36fb62a880d36e1224e88dea968dc96","after":"baa07d92c5aadc687439201bb3a41e89686c89bd","ref":"refs/heads/main","pushedAt":"2024-08-23T15:01:12.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"反射","shortMessageHtmlLink":"反射"}},{"before":"d64dffd62507c396055dd116e1f35f8c7f255ddb","after":"8adc8c59d36fb62a880d36e1224e88dea968dc96","ref":"refs/heads/main","pushedAt":"2024-08-22T15:08:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"力扣 72:编辑距离(dp,可以先想想边界条件,比如0,比较好做的话,看看能不能通过子结构从0推到n这样,用dp)","shortMessageHtmlLink":"力扣 72:编辑距离(dp,可以先想想边界条件,比如0,比较好做的话,看看能不能通过子结构从0推到n这样,用dp)"}},{"before":"c2a562cbcc08017b064a21a4d4b226340a5cc7b0","after":"d64dffd62507c396055dd116e1f35f8c7f255ddb","ref":"refs/heads/main","pushedAt":"2024-08-20T14:15:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"当网络出现阻塞,如何防止用户重复下单(@RepeatSubmit注解+redis:setIfAbsent确保唯一key)(还没加redis配置)","shortMessageHtmlLink":"当网络出现阻塞,如何防止用户重复下单(@RepeatSubmit注解+redis:setIfAbsent确保唯一key)(还没加redis配置)"}},{"before":"cfee1e40167e9f4faefe54f14010128c9ba255ee","after":"c2a562cbcc08017b064a21a4d4b226340a5cc7b0","ref":"refs/heads/main","pushedAt":"2024-08-19T14:21:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"手撕 LRU(双向链表+hash加快搜索),二叉树层次遍历,手写hashmap, IP 审查, 回溯算法示例(八皇后问题), 非递归实现二叉树后序遍历, 三数之和","shortMessageHtmlLink":"手撕 LRU(双向链表+hash加快搜索),二叉树层次遍历,手写hashmap, IP 审查, 回溯算法示例(八皇后问题), 非递归实现二…"}},{"before":"89ab4f1922e86f6788f00f9cdfbfb8f45e63cd3c","after":"cfee1e40167e9f4faefe54f14010128c9ba255ee","ref":"refs/heads/main","pushedAt":"2024-08-18T12:44:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"SpringBoot与MyBatis中使用自定义TypeHandler将逗号分隔字符串转换为List集合(不知道为什么@Result,typeHandler没有发挥作用)","shortMessageHtmlLink":"SpringBoot与MyBatis中使用自定义TypeHandler将逗号分隔字符串转换为List集合(不知道为什么@Result,ty…"}},{"before":"f7a0eaf535c71790e5b5c94d2d59420320269085","after":"89ab4f1922e86f6788f00f9cdfbfb8f45e63cd3c","ref":"refs/heads/main","pushedAt":"2024-08-17T15:17:54.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"destinl","name":"destinal","path":"/destinl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111584891?s=80&v=4"},"commit":{"message":"JDK 动态代理与 CGLIB 的区别","shortMessageHtmlLink":"JDK 动态代理与 CGLIB 的区别"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOFQxNDoxODoyMy4wMDAwMDBazwAAAAS5yGwp","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOFQxNDoxODoyMy4wMDAwMDBazwAAAAS5yGwp","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0xN1QxNToxNzo1NC4wMDAwMDBazwAAAASc4Mtn"}},"title":"Activity · destinl/examples"}