0


Restful风格使用postman测试接口【增删查改示例】

postman简介

Postman 最早是google的一个插件存在的,但是又google退出中国以及postman团队对工具的定位,主攻pc端app的开发及优化,现在的google插件已经很少再使用了,postman虽然是一个商用软件,但是对于我们普通用户来说,基本功能完全够用的。

Postman 从最初设计上就是为接口测试而生的,所以在程序员中广泛使用,在开发调试网络程序时跟踪一些网络请求,能够高效的帮助后端开发人员独立进行接口测试。

主要功能:

Postman是一款功能强大的网页调试、HTTP请求发送及接口测试用例运行的工具
能够模拟各种HTTP Request如GET、POST 、header、 PUT、 DELETE…等等
请求中还可以发送文件(图片、文本文件等)、额外的header等,实现特定的接口测试
能够高效的帮助后端开发人员独立进行接口测试
Postman提供了云服务,支持数据同步及团队协作等
提供了丰富的HTML格式的报告模板
不仅仅进行接口测试,而且是一个API管理工具

postman官网

https://www.postman.com/
postman的下载就自行了

建表

建表并插入书本数据,这里是使用的navicat工具mysql

DROPTABLEIFEXISTS`tb_books`;CREATETABLE`tb_books`(`id`int(11)NOTNULLAUTO_INCREMENT,`type`varchar(30)DEFAULTNULL,`name`varchar(40)DEFAULTNULL,`description`varchar(200)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=51DEFAULTCHARSET=utf8mb4;INSERTINTO`tb_books`VALUES('1','测试111-----','测试书名111','测试描述111');INSERTINTO`tb_books`VALUES('3','小说','小说1','世界名著1');INSERTINTO`tb_books`VALUES('4','小说','小说2','世界名著2');INSERTINTO`tb_books`VALUES('5','小说','小说3','世界名著3');INSERTINTO`tb_books`VALUES('6','小说','小说4','世界名著4');INSERTINTO`tb_books`VALUES('7','小说','小说5','世界名著5');INSERTINTO`tb_books`VALUES('8','小说','小说6','世界名著6');INSERTINTO`tb_books`VALUES('9','小说','小说7','世界名著7');INSERTINTO`tb_books`VALUES('10','小说','小说8','世界名著8');INSERTINTO`tb_books`VALUES('11','小说','小说9','世界名著9');INSERTINTO`tb_books`VALUES('12','小说','小说10','世界名著10');INSERTINTO`tb_books`VALUES('13','小说','小说11','世界名著11');INSERTINTO`tb_books`VALUES('14','小说','小说12','世界名著12');INSERTINTO`tb_books`VALUES('15','小说','小说13','世界名著13');INSERTINTO`tb_books`VALUES('16','小说','小说14','世界名著14');INSERTINTO`tb_books`VALUES('17','小说','小说15','世界名著15');INSERTINTO`tb_books`VALUES('18','小说','小说16','世界名著16');INSERTINTO`tb_books`VALUES('19','小说','小说17','世界名著17');INSERTINTO`tb_books`VALUES('20','小说','小说18','世界名著18');INSERTINTO`tb_books`VALUES('21','小说','小说19','世界名著19');INSERTINTO`tb_books`VALUES('22','小说','小说20','世界名著20');INSERTINTO`tb_books`VALUES('23','测试1','测试书名1','测试描述1');INSERTINTO`tb_books`VALUES('24','测试11','测试书名11','测试描述11');INSERTINTO`tb_books`VALUES('25','java1','你好 修改1','测试内容1');INSERTINTO`tb_books`VALUES('47','测试1','测试书名1','测试描述1');INSERTINTO`tb_books`VALUES('48','测试11','测试书名11','测试描述11');INSERTINTO`tb_books`VALUES('49','java','springboot1','springboot1');INSERTINTO`tb_books`VALUES('50','java','springboot1','springboot1');

pom文件

注意有mybatis-plus依赖,因为使用mabatisplus做的

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.0</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.0</version></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.2</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency></dependencies>

yaml文件

主要是连接数据库和设置端口号

server:
  port:80
spring:
  datasource:
    driver-class-name:com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    username: root(用户名)
    password: 密码
  thymeleaf:
    cache:false
mybatis-plus:
  configuration:
    log-impl:org.apache.ibatis.logging.stdout.StdOutImpl
  mapper-locations: classpath:mapper/*.xml

model下Book类

importcom.baomidou.mybatisplus.annotation.IdType;importcom.baomidou.mybatisplus.annotation.TableId;importcom.baomidou.mybatisplus.annotation.TableName;importlombok.Data;@Data@TableName("tb_books")publicclassBook{@TableId(value ="id", type =IdType.AUTO)privateInteger id;privateString type;privateString name;privateString description;}

Dao接口

bookDao 继承自baseMapper,由plus提供

importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom.iwei.model.Book;importorg.apache.ibatis.annotations.Mapper;@MapperpublicinterfaceBookDaoextendsBaseMapper<Book>{}

service

bookService

importcom.baomidou.mybatisplus.extension.service.IService;importcom.iwei.model.Book;publicinterfaceBookServiceextendsIService<Book>{}

bookServiceImpl
来实现这个接口,至于怎么实现的就不深究了。

importcom.baomidou.mybatisplus.extension.service.impl.ServiceImpl;importcom.iwei.dao.BookDao;importcom.iwei.model.Book;importcom.iwei.service.BookService;importorg.springframework.stereotype.Service;@ServicepublicclassBookServiceImplextendsServiceImpl<BookDao,Book>implementsBookService{}

其实做到这里我们还是可以在测试类中先来测试一下,来看看是否可以从数据库中读取数据,不过应该是成功的。

测试类中测试一下contextLoads

@SpringBootTestclassSpringboot0112ApplicationTests{@AutowiredprivateBookService bookService;@TestvoidcontextLoads(){List<Book> list= bookService.list();for(Book book:list){System.out.println(book);}}}

编写控制器

bookCnotroller,这里我们使用restful风格,调用bookService中的函数,然后我们在postman中进行get,post,put,delete测试

@RestController@RequestMapping("/books")//公共部分publicclassBookController{@ResourceprivateBookService bookService;@GetMappingpublicList<Book>books(){return bookService.list();}@GetMapping("{id}")//restful风格参数,?后面参数为查询串参数publicBookbook(@PathVariable("id")Integer id){return bookService.getById(id);}//Post,Put,Delete用工具发请求@PostMapping//借助工具使用postman或者swagger3,地址栏没办法测publicbooleanadd(@RequestBodyBook book){boolean flag =bookService.save(book);return flag;}@PutMapping("{id}")//修改publicbooleanupdate(@PathVariableInteger id,@RequestBodyBook book){
        book.setId(id);boolean flag1=bookService.updateById(book);return flag1;}@DeleteMapping("{id}")//删除publicbooleandelete(@PathVariableInteger id){boolean flag2=bookService.removeById(id);return flag2;}}

postman中测试

获取数据(GET)

在这里插入图片描述

增加(POST)

注意json格式
在这里插入图片描述

修改(PUT)

在这里插入图片描述

删除(DEL)

在这里插入图片描述

标签: postman restful java

本文转载自: https://blog.csdn.net/m0_67587248/article/details/130393474
版权归原作者 编程初学者01 所有, 如有侵权,请联系我们删除。

“Restful风格使用postman测试接口【增删查改示例】”的评论:

还没有评论