V2EX xiayudashan
 xiayudashan 最近的时间轴更新
xiayudashan

xiayudashan

V2EX 第 163606 号会员,加入于 2016-03-16 17:54:45 +08:00
33 S 92 B
xiayudashan 最近回复了
@CodeDeer
这个功能就太强大了。。
看手机流量我一般用的是 charles,看了你发的 zan-proxy,发现它就能实现流量拦截,以前我觉得拦截流量肯定很难实现,看到这个 zan-proxy 实现了,突然觉得是不是只要是个 web server 就可以了?然后我就试了一下果然是这样。。
那 web server 再做个证书装手机上理论上应该和 charles 一样也可以拦截 https 了
@zephyru
第三方的 rap 部署一套,这个没看清楚,还以为是直接去用
我之前也找过第三方的,但发现都需要账号然后在别人服务器上调用,所以就没做考虑
docdoc 也算是我遇到这个问题并想办法解决的一个结果吧
分享出来也是想和大家交流一下经验和思路,顺便如果能有帮助就更好了
@zephyru
一些区别就是 mock 接口完全和文档一样,开发完不需要整体删除 /test 了
docdoc 既是管理 api 的工具也是提供 mock 数据的工具,当接口开发完成后将 docdoc 里面的接口状态从开发中改为其他状态后,30 秒后 dochelper 就会更新同步下最新的 mock 接口,那时再请求这个接口就会直接走程序地址了
第三方的怎么说呢,把自己的接口数据给到别人我还是觉得不安全
最后我一直是做后端开发的,webpack 这种确实没用过也不会用。。。所以我就用我所熟悉的方式做了这样的算是通用一点的 mock server
举例来说:
docdoc server 上配置了一个 url /category/daily 其状态为开发中,配置其响应数据为 [默认每日聚焦] (注:可以是任意数据,html,json,xml 等),通过 docdoc server 所在地址访问这个 url http://localhost:9981/category/daily 将会得到配置的响应数据 [默认每日聚焦] ,每个用户还可以设置自定义的响应数据,满足多个前端各用各的模拟数据的需求

dochelper 本质上就是从 docdoc 上拉取配置,然后配置 nginx 启动 nginx,配置完的 nginx 大致如下面这样

helper-nginx.conf

worker_processes 2;

events {
worker_connections 1024;
}

http {
upstream program_server {
server www.chuapp.com;
}
upstream mock_server {
server 192.168.1.21:9981;
}

index index.html index.htm index.php;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

server {
listen 80;
server_name localhost;
root html;

location / {
proxy_redirect off;
proxy_set_header Host www.chuapp.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_pass http://program_server;
}

location /category/daily {
proxy_redirect off;
proxy_set_header Host 192.168.1.21:9981;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header owner fz;

client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_pass http://mock_server;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
对比同类型的 api 管理软件,大部分需要注册帐号,需要在别人的服务器上使用,这点是很令人费解的,这就相当于把自己的接口详细信息告诉给第三方软件
docdoc 采用 java 开发其中用到了 vertx,h2,spring 等技术,由于 h2 是内存数据库所以对于运行环境仅只有 jre8 的要求,为了方便使用打包成了 docdoc.exe ,但完全可以自己下载源码然后使用 mvn package 编译出 fat jar 后执行 java -jar 来运行
dochelper 由于代码里耦合了 nginx.exe ,所以只能在 windows 上去运行,但也可以通过修改源码使其在 mac 等系统上运行,本质都是 java -jar
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     899 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 99ms UTC 19:37 PVG 03:37 LAX 12:37 JFK 15:37
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86