spring-mock,springboot mockmvc
00-1010一、实现场景:1.1请求同一个接口,不同的参数/ip返回的结果不一样。1.2返回的结果是动态数据,需要进行处理。1.3回调能力1.4响应时间1.5钩子参数1.6透明传输请求2。依赖3。开始编写3.1创建一个新的控制器,简单地构建一个服务,并尝试ping 3.2来创建一个新的MockController1。/* *这是指任何URI
目录
00-1010数据匹配
以create_account接口为例,参数为accountIdaccountId=123,成功返回accountId=456,失败返回accountid=456,accountname=张三,ip=123.123.123.1,成功返回ip=123.123.123.2,失败返回。
解决方案:
将数据存储在yml文件中。例如,create_account接口只返回一个固定的结果,所以我们将返回值放在一个yml文件中。
比如create_name接口根据不同的参数返回不同的id。一个界面对应一个文件夹。将create_name接口的返回值写入多个yml文件,放在同一个文件夹中。然后去配。
一、实现场景:
响应: {
gt; <version>2.4.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>AutoApi</artifactId> <version>0.0.1-SNAPSHOT</version> <name>AutoApi</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>1.26</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.16</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>30.1.1-jre</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.11</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.9.0</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-yaml</artifactId> <version>2.12.3</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.3.8</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.20</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.6</version> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-core</artifactId> <version>5.7.5</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
三、开始写
3.1 新建一个controller,简单的建一个服务,试试是否能ping通
PingController
package com.example.mockserver.controller; import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController; @RestControllerpublic class PingController { @RequestMapping("/ping") public String ping(){ return "ok"; }}
要有@RestController 注解
修改application.properties 格式,换成yml application.yml 。并指定端口号。
application.yml
server: port: 8081
启动spring boot ,运行 MockServerApplication 。访问一下127.0.0.1:8081/ping。
返回ok就是正常的。
3.2 新建MockController1,/** 这里指的是任意的URI
MockController1
package com.example.mockserver.controller; import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController; @RestControllerpublic class MockController1 { @RequestMapping("/**") public String doMock(){ return "do mock server"; }}
"/**" 这里指的是任意的URI 。启动服务,当请求ping时返回ok,请求其他任何URL时,返回 do mock server
到此这篇关于springboot实现mock平台的示例代码的文章就介绍到这了,更多相关springboot实现mock 内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。