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   ·   实用小工具   ·   2599 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 05:01 · PVG 13:01 · LAX 21:01 · JFK 00:01
Developed with CodeLauncher
♥ Do have faith in what you're doing.