提取前后端请求与接口路径
时代背景
如今时代盛行前后端分离,再也回不到ALL IN ONE的方式写代码了
想成为全栈工程师要学的东西真特么多,至少在我看来没什么人能成为全栈
不过作为一个伪全栈也至少得了解一些前后端得基本概念,第一招迅速扒出系统接口
提取前端项目请求后端得路径
#把request替换成你项目里封装的方法
#-d后指定你url路径的起始标记,是否需要多次裁剪看你自己需要了
#baseurl看你项目的代理前缀设置
grep -r request\(|cut -d\` -f2|cut -d\' -f2|sort -u|grep -i baseurl
#效果如下所示
${baseUrl}/address/add
${baseUrl}/address/delete
${baseUrl}/address/get
${baseUrl}/address/province
${baseUrl}/address/put
提取后端项目的控制器路径
#通过find 去查找你需要处理的文件
#awk begin 初始化一下文件处理前的变量设置
#FILENAME 是awk内置的代表文件名的变量
#$0 代表当前输入记录
#first用来匹配我们控制器脑袋上的那个路径所以存数组元素a[0]
#数组b用来存储value="xxx"格式中的xxx
#数组u用来存在方法映射路径中value="yyy"格式的中以双引号"分割的数据
#printf组装出完整的请求路径
#find -exec 选项中 {} 代表前面找出的文件 \;代表exec命令结束 注意中间有一个空格
find -name *Controller.java -exec awk -n 'BEGIN{start=0}{ if(start==0){ print FILENAME ; start=1;first=""}match($0,/@.*Mapping(.*).*/,a);if(first=="" && length(a)>0) first=a[0];else if ( first!="" && length(a)>0) { match(first,/.*"(.*)".*/,b);split(a[0],u,"\"");
printf("%s\"%s%s\"%s\n",u[1],b[1],
u[2],u[3]) }} END{start=0}' {} \;
#效果如下所示
./src/main/java/io/xxx/yyy/zzz/domain/controller/basedata/AddressController.java
@RequestMapping(value = "/address/{id}", method = RequestMethod.GET)
@RequestMapping(value = "/address/{id}/sub", method = RequestMethod.GET)
@RequestMapping(value = "/address/province", method = RequestMethod.GET)