Skip to content

lrwinx/Ddripping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ddripping 是一个简单的, 高效的, 提供多策略的java语言相关的解决方案.

它大概包括以下功能:

  • 幂等支持SPEL表达式: 幂等解析器使用SPEL表达式作为解析器
  • 幂等存储策略: 存储策略支持:内存式存储,mysql存储
  • 幂等拒绝策略: 拒绝策略:多次返回相同值,返回null,抛出异常

快速开始

在HTTP中添加注解:

@RestIdempotency(value = "1#size(),2",time = 5000)

例子如下:

@Controller
@RequestMapping("/api/order")
public class OrderApi {

    @RequestMapping(value = "{uid}",method = RequestMethod.POST)
    @ResponseBody
    @RestIdempotency(value = "1#size(),2",time = 5000)
    public Map<String,?> generaterOrder(HttpServletRequest request,
                                        @RequestBody List<Product> productList,
                                        @PathVariable("uid") Integer uid){
        System.out.println("用户id: " + uid);
        System.out.println("购买产品: " + productList);
        Map result = new HashMap(){
            {
                put("orderId",UUID.randomUUID().toString());
            }
        };

        return result;
    }
}

项目结构

  1. com.tasly.core: 此包下的所有类为核心类

  2. com.tasly.core: 此包下的所有类为测试类

About

解决幂等问题的工具-Ddripping

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published