SpringBoot启用web模拟测试(一)

news2024/11/20 0:29:02
添加依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.5.10</version>
</dependency>

模拟端口

   虚拟请求测试

@Slf4j
@RestController
@RequestMapping("/books")
public class BookController {


    @Autowired
    private IBookService iBookService;
    @GetMapping("/get/{id}")
    public R getById(@PathVariable Integer id) throws IOException {

        return new R(true,iBookService.getById(id));
    }
    @GetMapping
    public R getAll(){
        return new R(true,iBookService.list());
    }
    @PostMapping
    public R save(@RequestBody Book book) throws IOException {

        boolean flag = iBookService.save(book);
        return new R(flag,flag?"添加成功🙂":"添加失败😂");
    }
    @PutMapping
    public R updateById(@RequestBody Book book){
        boolean flag = iBookService.modify(book);
        return new R(flag,flag?"数据更新成功":"数据更新失败");
    }
    @DeleteMapping("/delete/{integer}")
    public R deleteById(@PathVariable Integer integer){
        boolean flag = iBookService.delete(integer);
        return new R(flag,flag?"数据删除成功":"数据删除失败");
    }

    @GetMapping("{current}/{pageSize}")
    public R getByPage(@PathVariable Integer current,@PathVariable Integer pageSize,String name,Book book){
        System.out.println("name"+name);
        System.out.println("book"+book);
        IPage<Book> ipage=iBookService.getByPage(current,pageSize,book);
        if(current>ipage.getPages()){
            ipage =iBookService.getByPage((int)ipage.getPages(),pageSize,book);
        }

        return new R(true,ipage);
    }
}

测试代码

@ContextConfiguration(classes = Application.class)
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
//开启虚拟MVC调用
@AutoConfigureMockMvc
public class WebTest {
    @Autowired
    private MockMvc mvc;
    @Test
    //http://localhost/testSpringboot/books
    //创建虚拟请求,当前访问books
    public void test() throws Exception {
        MockHttpServletRequestBuilder mockHttpServletRequestBuilder= MockMvcRequestBuilders.get("/books");
        //执行对应的请求
        mvc.perform(mockHttpServletRequestBuilder);
    }

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java后端面试大全,java后端面试宝典

JAVA_LEARNING_CONTENT JAVA后端面试大全&#xff0c;java后端面试宝典 一个分布式锁的解决方案&#xff0c;另一个是分布式事务的解决方案 -2 flink 链接&#xff1a;flink参考文章 -1 linux of view 参考链接&#xff1a; linux常见面试题 linux查看占用cup最高的10个进…

机电设备故障ar远程维修软件缩短生产线中断时间

电机属于工业生产中的关键设备之一&#xff0c;处于长期运转阶段&#xff0c;因此电机容易出现故障&#xff0c;极易增加企业生产成本&#xff0c;影响生产计划。引进AR远程维修技术效果显著。 AR远程维修技术是一种将虚拟信息与实际场景相结合的技术。当电机出现故障时&#x…

基于AT89C51单片机的交通灯设计与仿真

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87763760?spm1001.2014.3001.5503 源码获取 主要内容&#xff1a; 设计一个能够控制十二盏交通信号灯的模拟系统,:利用单片机的定时器定时&#xff0c;令十字路口…

云原生-kubesphere容器平台

https://www.yuque.com/leifengyang/oncloud/gz1sls 多租户&#xff1a;可以用户自定义注册进来&#xff0c;可以给用户分配一些集群操作权限&#xff0c;来操作集群 多集群&#xff1a;有生产环境的k8s集群和测试环境的k8s集群。这多个集群都是需要管理的&#xff0c;可以安装…

Error: (‘IM002‘, ‘[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序‘)

这是使用pypyodbc访问access数据库时常见的一个错误。 大致可以分为以下几个原因&#xff1a; 1.驱动程序不全&#xff1b; 2.你的驱动源名称错误&#xff1b; 3.python位数与驱动位数不同&#xff0c;这也可以粗暴的归类为原因1. 那么如何解决&#xff1f; 找到对应的驱…

ce人造指针

人造指针 找出什么访问 重开会改变edi 记录传入的edi 视图 内存区域ctrlr 可读可写 在0079B000前找空的 可以用只读 fullaccess(00xxxxxx,4)有可能处于保护&#xff0c;不起效果 在申请地址造指针 全局用 registersymbol() unregistersymbol(mana_ecx) ceaa od …

谷歌云 | 授权用户访问您在 Cloud Run 上的私有工作负载的 3 种新方法

【本文由 Cloud Ace 云一整理】 越来越多的组织正在Cloud Run上构建应用程序&#xff0c;这是一个完全托管的计算平台&#xff0c;可让您在 Google 的基础架构之上运行容器化应用程序。想想 Web 应用程序、实时仪表板、API、微服务、批量数据处理、测试和监控工具、数据科学推…

【ADS867x】双极输入范围 14 位 500kSPS 4/8 通道、单电源 SAR ADC

器件特性 具有集成模拟前端的 14 位模数转换器 (ADC)具有自动和手动扫描功能的 4 通道、8 通道多路复用器通道独立可编程输入&#xff1a; 10.24V、5.12V、2.56V、1.28V、0.64V10.24V、5.12V、2.56V、1.28V 5V 模拟电源&#xff1a;1.65V 到 5V I/O 电源恒定的阻性输入阻抗&am…

Android Dialog之DialogFragment详解与使用

一、介绍 在Android开发过程中&#xff0c;经常会有弹窗业务&#xff0c;在正常的弹窗业务中&#xff0c;常用到的是Dialog&#xff0c;Dialog的原理也是通过将view&#xff0c;添加到Dialog中。Dialog自身是一个独立的窗口&#xff0c;和Activity一样&#xff0c;有自己的wind…

C++面试题

试题一 请问如下函数调用了什么构造函数和析构函数&#xff0c;以及调用的顺序是什么&#xff1f; 如果 fun函数里写成 return s1 s2 有什么变化&#xff1f; string fun(strings1, string s2) {string tmp s1 s2;return tmp; } int main() {string s fun(s1, s2);retur…

AI来势汹汹,这份「生存计划」请查收!

AIGC即人工智能生产内容&#xff0c;最近可太火了&#xff0c;但是火了这么久&#xff0c;有些人都没明白到底为什么火&#xff1f;甚至不明所以觉得“AI替代XX”&#xff0c;小编认为没必要焦虑&#xff0c;一起来看一下吧。 AI工具们一日千张图、3小时写一本书、2分钟构建一个…

论文导读 | 大语言模型中应用到的强化学习算法

摘要 在最近取得广泛关注的大规模语言模型&#xff08;LLM&#xff09;应用强化学习&#xff08;RL&#xff09;进行与人类行为的对齐&#xff0c;进而可以充分理解和回答人的指令&#xff0c;这一结果展现了强化学习在大规模NLP的丰富应用前景。本文介绍了LLM中应用到的RL技术…

《NFT区块链进阶指南一》Remix部署Solidity ERC721合约(NFT合约)到Etherscan

文章目录 一、部署合约1.1 无构造参数合约部署1.2 有构造参数合约部署 二、合约详情三、部署提示 本篇为NFT区块链高级部分&#xff0c;在阅读之前需了解&#xff1a;Remix、Metamask、Etherscan、Solidity、Openzeppelin、ERC721合约 一、部署合约 1.1 无构造参数合约部署 智…

maven入门学习

简介 maven是基于ant升级的&#xff0c;apache的自动化构建工具、项目管理工具 Maven – Welcome to Apache Maven maven使用pom.xml进行配置 maven项目可以更方便的实现导jar包、拆分项目 idea默认集成了maven 下载安装 下载maven&#xff0c;在官网&#xff08;Maven –…

如何设计电商SPU与SKU表以及相关的表?

一、先了解SPU及SKU的相关概念&#xff1a; 我们在开发电商项目时&#xff0c;必须首先要了解两个概念&#xff0c;SPU与SKU是什么&#xff1f;这也是设计一个好的电商系统的必要前提。商系统实现了什么功能&#xff0c;大数情况下都是和商品模块相关联的。因此商品模块本身的…

Python基础入门(3)—— 什么是函数递归、字典、集合、文件操作、异常处理?

文章目录 01 | &#x1f698;函数 && 递归&#x1f694;函数&#x1f694;递归 02 | &#x1f698;字典03 | &#x1f698;集合04 | &#x1f698;文件05 | &#x1f698;异常处理06 | &#x1f698;习题 Better late than never. 迟做总比不做好;晚来总比不来好。 01 …

M302A-CW/BYT-通刷S905L3(B)-当贝纯净桌面卡刷固件包

M302A-CW&#xff0f;BYT-通刷S905L3(B)-当贝纯净桌面卡刷固件包-内有教程 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量精简内置的没用的…

MFP450 基础飞行平台问世,支持室内室外无GPS环境飞行

无人机开发入门&#xff0c;我们需要一个怎样的基础飞行平台&#xff1f; 开源无人机的发展日新月异&#xff0c;但遗憾的是&#xff0c;在PX4和FMT生态中&#xff0c;还很少看到一个稳定可靠的基础飞行平台。目前国内市场的选择不多&#xff0c;还是以DIY为主&#xff0c;尤其…

GEE:使用 ROC 曲线和 AUC 评估分类算法性能

作者:CSDN @ _养乐多_ 在机器学习和遥感数据分析领域,评估分类算法的性能是关键任务之一。Google Earth Engine(GEE)平台提供了丰富的遥感数据和分析工具,结合 ROC(接收者操作特征)曲线和 AUC(曲线下面积)分析,可以有效评估分类算法的准确性和可靠性。 本文将介绍如…

基于阻塞队列实现异步秒杀

文章目录 1 异步秒杀思路2 Redis完成秒杀资格判断3 基于阻塞队列实现秒杀优化总结 1 异步秒杀思路 我们来回顾一下下单流程 当用户发起请求&#xff0c;此时会请求nginx&#xff0c;nginx会访问到tomcat&#xff0c;而tomcat中的程序&#xff0c;会进行串行操作&#xff0c;分…