grep awk 接口路径

时代背景

如今时代盛行前后端分离,再也回不到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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值