首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring MockMvc测试: Swagger allowableValues未过滤错误参数

Spring MockMvc测试是一种用于测试Spring MVC应用程序的框架。它允许开发人员模拟HTTP请求和响应,并对控制器的行为进行断言和验证。Swagger是一种用于构建、文档化和使用RESTful Web服务的工具。allowableValues是Swagger中的一个注解,用于指定参数的允许值范围。

在Spring MockMvc测试中,当使用Swagger的allowableValues注解时,可能会出现未过滤错误参数的问题。这意味着即使传递了不在允许值范围内的参数,测试仍然会通过,这可能导致应用程序在实际运行时出现错误。

为了解决这个问题,可以采取以下步骤:

  1. 确保在测试中正确配置MockMvc和Swagger。确保MockMvc能够正确模拟HTTP请求,并且Swagger的allowableValues注解已正确应用于控制器方法的参数。
  2. 在测试中使用无效的参数值进行测试。传递不在允许值范围内的参数值,并断言测试应该失败。例如,如果参数的允许值范围是1到10,传递一个大于10的值,并验证测试是否失败。
  3. 检查Swagger的allowableValues注解是否正确应用于控制器方法的参数。确保注解的参数设置正确,并且参数的允许值范围与实际应用程序的要求相匹配。
  4. 如果问题仍然存在,可以尝试查看Spring MockMvc和Swagger的文档,以了解更多关于它们的使用和配置的信息。也可以参考Spring官方文档和Swagger官方文档,以获取更多关于MockMvc测试和allowableValues注解的详细信息。

腾讯云提供了一系列与云计算相关的产品和服务,例如云服务器、云数据库、云存储等。这些产品可以帮助开发人员构建和部署云原生应用程序,并提供高可用性、可扩展性和安全性。具体推荐的腾讯云产品和产品介绍链接地址可以根据实际需求和场景进行选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

spring boot 下swagger2 的使用

swagger 官方Demo供参考 https://petstore.swagger.io/ swagger注解 swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等...springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket...@ApiParam() 用于方法,参数,字段说明 增加对参数的元信息说明,主要的属性有: required:指定该参数是否为必传参数 value:对该参数含义的简短说明 @ApiResponses(...当REST API请求发生时,这个注解可用于描述所有可能的成功与错误码。 可以用,也可以不用这个注解去描述操作的返回类型,但成功操作的返回类型必须在@ApiOperation中定义。...: 可选值, 像这样@ApiModelProperty(allowableValues = "range[1,5]") 或者 @ApiModelProperty(allowableValues = "

58710

SpringBoot3之Web编程

标签:Rest.拦截器.swagger.测试; 一、简介 基于web包的依赖,SpringBoot可以快速启动一个web容器,简化项目的开发; 在web开发中又涉及如下几个功能点: 拦截器:可以让接口被访问之前...-- 单元测试组件 --> org.springframework.boot spring-boot-starter-test...1、Swagger接口 添加上述的springdoc依赖之后,还可以在配置文件中简单定义一些信息,访问IP:端口/swagger-ui/index.html即可; @Configuration public...在个人的习惯上,Swagger接口文档更偏向在前后端对接的时候使用,而Junit单元测试更符合开发的时候使用,这里是对RestWeb中的接口进行测试; @RunWith(SpringRunner.class...mockMvc; @Test public void testGet () throws Exception { // GET接口测试 MvcResult

20730

Spring Boot 项目中使用 Swagger 文档

集成 Swagger2 3.1 添加依赖 3.2 Java 配置 3.3 验证 四、集成 Swagger UI 4.1 添加依赖 4.2 访问验证 五、高级配置 5.1 文档相关描述配置 5.2 接口过滤.../test/test:测试接口。 下面我们将通过集成 Swagger2,然后为这 5 个 Rest API 自动生成接口文档。...paths():这种方式可以通过筛选 API 的 url 来进行过滤。 在集成 Swagger2 的章节中我们这两个方法指定的都是扫描所有,没有指定任何过滤条件。...方法告诉 Swagger 不使用默认的 HTTP 响应消息,假设我们现在需要覆盖所有 GET 方法的 500 和 403 错误的响应消息,我们只需要在 SwaggerConfig.java 类中的 Docket...allowableValues String 该字段允许的值,当我们 API 的某个参数为枚举类型时,使用这个属性就可以清楚地告诉 API 使用者该参数所能允许传入的值。

1.3K40

Spring Boot 项目中使用 Swagger 文档

还可以将文档规范导入相关的工具(例如 SoapUI), 这些工具将会为我们自动地创建自动化测试。.../test/test:测试接口。 下面我们将通过集成 Swagger2,然后为这 5 个 Rest API 自动生成接口文档。...补全信息后的 Swagger 文档界面 点击查看大图 接口过滤 有些时候我们并不是希望所有的 Rest API 都呈现在文档上,这种情况下 Swagger2 提供给我们了两种方式配置,一种是基于 @ApiIgnore...paths():这种方式可以通过筛选 API 的 url 来进行过滤。 在集成 Swagger2 的章节中我们这两个方法指定的都是扫描所有,没有指定任何过滤条件。...allowableValues String 该字段允许的值,当我们 API 的某个参数为枚举类型时,使用这个属性就可以清楚地告诉 API 使用者该参数所能允许传入的值。

1.6K20

使用RESTful风格开发Java Web

实现了对HTTP请求的模拟,从示例的代码就能够看出MockMvc的简单用法,它能够直接使用网络的形式,转换到Controller的调用,这样使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便...需要注意的就是在MockMvc使用之前需要先用MockMvcBuilders构建MockMvc对象,如果对单元测试感兴趣的童鞋请戳上面的链接哦,这里就不细说了 测试信息 运行测试类,控制台返回的信息如下...,没有任何错误,则说明成功!...,可以让我们在修改代码逻辑的同时方便的修改文档说明,这太酷了,另外Swagger2页提供了强大的页面测试功能来调试每个RESTful API,具体效果如下: [1240] 让我们赶紧来看看吧: 第一步:...> 第二步:创建Swagger2配置类 在SpringBoot启动类的同级目录下创建Swagger2的配置类 Swagger2: @Configuration @EnableSwagger2

1.3K50

使用RESTful风格开发Java Web

下面针对该Controller编写测试用例验证正确性,具体如下。...实现了对HTTP请求的模拟,从示例的代码就能够看出MockMvc的简单用法,它能够直接使用网络的形式,转换到Controller的调用,这样使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便...需要注意的就是在MockMvc使用之前需要先用MockMvcBuilders构建MockMvc对象,如果对单元测试感兴趣的童鞋请戳上面的链接哦,这里就不细说了 测试信息 运行测试类,控制台返回的信息如下...,没有任何错误,则说明成功!...,可以让我们在修改代码逻辑的同时方便的修改文档说明,这太酷了,另外Swagger2页提供了强大的页面测试功能来调试每个RESTful API,具体效果如下: 让我们赶紧来看看吧: 第一步:添加Swagger2

80730

Swagger 接口管理和文档导出

title: date: 2018-08-25 19:22:00 categories: Spring Components tags: spring springfox-swagger ---- Springfox...SwaggerSpring的整合已经让我们可以动态的生成接口文档了,但是接口文档的生成、管理、导出在网上看了很多博客,着实让我走了很多弯路,都不是很满意。...---- Swagger 接口管理和文档导出 Swagger 项目接口分组管理、文档生成和批量导出 测试用例根据接口分组 批量循环生成对应的 swagger.json 接口分组管理请前往 《Spring...mockMvc; /** * 初始化 MOCK */ @Before public void init() { mockMvc = webAppContextSetup...//指定adoc文件生成路径 private static Path outputDirectory; //通过配置文件生成swagger2markup的参数 public Swagger2MarkupConfig

2K10

SpringBoot整合Springfox-Swagger2「建议收藏」

前言 不管Spring Boot整合还是SpringMVC整合Swagger都基本类似,重点就在于配置Swagger,它的精髓所在就在于配置。...1、分析 2、RequestHandlerSelectors过滤 4.3、第一部分:配置API分组 4.4、Swagger2的常用注解 4.5、第三部分:API请求列表 4.6、第四部分:API实体列表...启动项目可访问http://localhost:8080/swagger-ui.html 可以看到swagger的界面,如下; 4、配置Swagger 不管是Spring Boot整合还是SpringMVC...通过Swagger实例Docket的groupName()方法即可配置分组 第二部分--基本描述:可以通过Swagger实例Docket的apiInfo()方法中的ApiInfo实例参数配置文档信息...new Docket(DocumentationType.SWAGGER_2) //apiInfo: 添加api详情信息,参数为ApiInfo类型的参数,这个参数包含了第二部分的所有信息比如标题

1.1K10

springboot使用swagger2生成api文档

作为一个能够自动生成API文档的框架,其最大的优点有两个: 接口文档在线能够自动生成,文档随接口变动实时更新,节省维护成本 支持类似spring RESTful插件那样的在线接口测试,不依赖第三方工具...假设现在有一个TestController接口,里面有几个简单的API,通过swagger的注解添加接口描述 @Api(value = "Api-test", description = "测试接口")...“header”对应spring@RequestHeader注解标记的参数;2.“query”对应spring@RequestParam注解标记的参数;3....“path”对应spring@PathVariable注解标记的参数; dataType 参数类型 实例: @ApiImplicitParams({ @ApiImplicitParam(name...,多用于创建或更新 属性 作用 value 此属性的简要说明 name 允许覆盖属性名称 allowableValues 限制参数的可接受值,有以下几种:1.以逗号分隔的列表2.范围值3.设置最小值/最大值

74810

芋道 Spring Boot API 接口文档 Swagger 入门

摘要: 原创出处 http://www.iocoder.cn/Spring-Boot/Swagger/ 「芋道源码」欢迎转载,保留摘要,谢谢! 1. 概述 2. 快速入门 Swagger 3....2.2 SwaggerConfiguration 因为 Spring Boot 暂提供 Swagger 内置的支持,所以我们需要自己定义配置类。...allowableValues 属性:和 @ApiImplicitParam 注解的 allowableValues 属性一致。 position 属性:成员变量排序位置,默认为 0 。...2.6 测试接口 在 Swagger 的 UI 界面上,提供了简单的测试接口的工具。我们仅仅需要点开某个接口,点击「Try it out」按钮。如下图: ?...断言 MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据 支持 postman, har, swagger 数据导入 免费开源,内网部署

2.3K30

SpringBoot2 集成测试组件,七种测试手段对比

整体来说工具比较好用,适应于开发阶段的接口快速测试,或者在解决问题的过程中单个接口的测试,同时对测试参数有存储和记忆能力,这也是受欢迎的一大原因。...Swagger接口文档在开发的过程中更多是扮演文档的角色,真正使用swagger去调试的接口也常是一些增删改查的简单接口,这个工具也同样不适应于复杂流程的测试。...>org.springframework.boot spring-boot-starter-test ...,一个简单方案: 用户信息:模拟http中token数据; 业务流程:通过数据获取包装参数模型; 独立服务管理,模拟并发场景; 根据执行过程生成分析数据结果; 对于复杂业务流程的测试,每个节点的模拟都具有一定的难度...七、MockMvc方式 MockMvc同样是SpringBoot集成测试包提供的测试方式,通过对象的模拟,验证接口是否符合预期: @AutoConfigureMockMvc @RunWith(SpringRunner.class

38120
领券