superleeyom / blog

:bookmark: 个人博客仓库,用于记录一些幼稚的想法和脑残的瞬间,欢迎 star、watch,该仓库为个人博客,请不要提 issue ,该仓库后端参考了 @yihong0618 的 gitblog 项目,前端参考了@LoeiFy 的 Mirror 项目,感谢!
https://blog.leeyom.top
217 stars 20 forks source link

Postman如何配置动态端口和IP #56

Open superleeyom opened 9 months ago

superleeyom commented 9 months ago

背景

起因是每次使用 Postman 调试服务接口的时候,如果服务一旦被重启,对应服务的ip和端口就会改变,就需要重新配置服务的ip和端口,非常的繁琐以及麻烦。所以就针对这个问题,做了一点研究,简单的记录下。

步骤

1、维护多套环境及相应的环境变量

实际开发中,我们一般会有多套环境,比如:开发环境dev、测试环境test、生产环境prod等等。每个环境,我们配置好对应的consul(注册中心)环境变量、对应服务名环境变量,如图所示:

image.png

2、维护collection目录层级以及脚本

建议以服务名为目录,在对应的目录层级,维护如下的脚本,动态的获取注册中心上对应的指定服务的ip和端口:

pm.sendRequest(pm.environment.get("consul_service") + "trade-assets-service",
function(err, res) {
    if (err) {
        console.log(err);
    } else {
        pm.environment.set("trade-assets-service", res.json()[0].ServiceAddress + ":" + res.json()[0].ServicePort);
    }
});

image.png 注: "trade-assets-service" 根据自己目录名变化

3、在对应的collection目录模拟request请求

维护好了动态获取脚本后,就可以正常的模拟对应的request请求,请求里面的ip和端口只需要填充对应的服务的占位符即可:

image.png