Postman的使用
前言
其实对于写不写这篇博客我一直很纠结,其原因就是作为一款接口调试工具,基本上大多数的后端程序员都会使用,相对于大家来说也都比较熟悉。但是昨天看了一位博主的视频中提到了postman的使用,才发现自己一直默默使用多年的postman竟然还有自己没有没有解锁的小技巧。这篇文章大家就当是看了个「寂寞」吧
下载与安装
点击postman进入官网,点击页面上的Download the App进行下载,安装的就方便多了,选择安装位置一路next,这些都是我们程序员的拿手工作,这里我们就直接跳过去了
准备工作
我们下面来准备一下待会要测试的接口,这个通过对我们上篇文章02.自动生成代码插件Easy Code的使用中自动生成的Controller进行稍微改造即可,全部代码如下
import com.christy.entity.TUser;
import com.christy.service.TUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.List;
/**
* (TUser)表控制层
*
* @author makejava
* @since 2021-05-19 16:58:50
*/
@RestController
@RequestMapping("user")
public class TUserController {
private static final Logger log = LoggerFactory.getLogger(TUserController.class);
/**
* 服务对象
*/
@Resource
private TUserService tUserService;
//查询所有用户
@GetMapping
public List<TUser> select() {
return this.tUserService.queryAllByLimit(0,Integer.MAX_VALUE);
}
/**
* 根据id查询一个
* @param id
* @return
*/
@GetMapping("/{id}")
public TUser selectOne(@PathVariable("id") Integer id) {
return this.tUserService.queryById(id);
}
/**
* ajax
* @param id
*/
@DeleteMapping("/{id}")
public void delete(@PathVariable("id") Integer id){
this.tUserService.deleteById(id);
}
@PostMapping
public void save(TUser user){
this.tUserService.insert(user);
}
@PostMapping("/file")
public void saveUser(MultipartFile avatar){
log.debug("文件名: "+avatar.getOriginalFilename());
log.debug("文件大小: "+avatar.getSize());
log.debug("文件类型: "+avatar.getContentType());
}
//ajax发起更新请求 json格式参数
@PatchMapping("/{id}")
public void update(@PathVariable("id") Integer id,@RequestBody TUser user){
user.setId(id);
this.tUserService.update(user);
}
}
Postman使用
安装完毕后打开Postman界面如下
create collection
Postman中一个项目对应一个collection,我们可以把一个项目所有的测试接口放到一个collection中,如下图所示
Add Request
Get Request
这个废话不多说,我们以上面controller中查询所有用户的接口为例,创建一个Get Request
我们还可以查询某个用户
Post Request
post form
我们使用post提交一个新增用户的请求,这个时候我们接口接收的是一个Tuser对象,默认是以RequestBody的方式接收的参数,我们前端以form表单的形式传参,ContentType应该为x-www-form-urlencoded
如下图
我们没有返回结果,但是我们仍然可以使用查询所有用户的接口测试上面的新增是否成功
Post file
上面我们post传表单,ContentType为x-www-form-urlencoded
,如果是传文件的话ContentType类型应该设置为form-data
,参数key的类型的应该为file
,比如我们向后台穿一个头像图片,如下图
我们也可以看到后台确实收到了这个文件并打印出了文件信息
Patch Request
Patch主要用来更新数据,而且不是全部字段的更新的。这个其实用Post也是可以的
这里的Patch提交请求是以JSON的形式传输的,我们重新查询下数据看是否修改成功
Delete Request
这个就比较简单了,删除完成后我们再去查询一下列表
Environments
Environments是这次新GET到的新技能,上面我们添加的那么多Request,前面的http://localhost:8899这个是相同的,如果在真正的项目测试过程中,可能会有几十甚至上百的URL需要测试,每次都需要写这部分,而且还容易写错,这个时候Environments就起到他的作用了
Add Environment
上图红框处的是当前选择的environments,后面蓝色框住的小眼睛可以查看当前所有的environments,可以看到我们目前是没有的。我们点击紫色剪头处的Add添加一个environment,如下图
how to use
这个我们以查询所有为例,如下图
首先我们要在右上角environment处选中当前的environment
最后将我们请求的url中对应的部分换上我们定义好的environment,这个变量要用双花括号括起来,这个语法对前端的童鞋来说是不是很亲切?