postman绕过登陆验证直接测试后端接口
使用postman测试后端接口,一般会遇到需要进行登陆校验的情况,
登陆校验一般是校验session或者是校验token,所以我们想绕过登陆验证直接测试后端的接口时需要在header中附带cookie信息或者是token信息
今天我在公司的前后端分离的项目中测试后台接口遇到了不少的问题,这里记录一下:
-
问题1:访问后端接口时,端口写错了
端口写错
前后端分离的项目,前端会有一个启动端口,并且会在配置文件中指定转发请求到后端的地址和端口:
vue的配置文件中指定了请求转发到后端的地址和端口:

从图中也知道vue项目启动时的端口是8080
由于自己使用postman测试时使用的是8082端口,既不是前端项目端口,也不是后端项目端口,所以访问不成功
- 问题2:访问时没有附带登陆信息,没有在header中添加cookie或者token,由于本项目是采用的session校验,所以这里的问题是没把cookie放到header中


- 问题3 : 访问时参数格式没有填写正确,由于测试的接口,后台使用了
@RequestBody注解,接收的参数格式应该是json格式的

使用的form-data模式,访问不成功:

现在针对上面3个问题,写出正确的测试url:
使用正确的访问地址和端口,并在header中加入Cookie信息:

在body中使用raw,json模式传递参数:

成功返回数据:

使用前端的端口也能访问成功:

小结:想要使用postman绕过登陆直接访问后台接口,需要填写正确的前端或后端的访问地址和端口号(前后端分离的项目中,访问前端或后端的端口均可,前端会将请求转发到后端的端口上的),然后需要在登陆成功的URL中将Cookie信息拷贝出来粘贴到请求的header中(如果是token校验的就把token粘贴出来放到header里),最后就要考虑后端接收参数时的格式如果使用了@RequestBody注解就需要将传递参数模式改为raw,json模式来传递参数才行
token校验时,把前端的token拷贝出来:

将token放到header里:

具体token校验登陆看这里:
https://www.jianshu.com/p/69d5a78616f4