@GetMapping("/search")
public List<Result> search(@RequestParam @Valid @NotNull @Size(min = 4) String query) {
return searchService.search(query);
}
"/search" --> actual 400 Bad Request, test passes
"/search?query=" --> actual 200 Ok, expected 400 because @Size(min=4)
"/search?query=a" --> actual 200 Ok, expected 400 because @Size(min=4)
"/search?query=ab" --> actual 200 Ok, expected 400 because @Size(min=4)
"/search?query=abc" --> actual 200 Ok, expected 400 because @Size(min=4)
"/search?query=abcd" --> actual 200 Ok, test passes
为什么@size(min=4)注释被忽略?
验证RequestParameters并不像开箱即用那样工作。
您可以将参数包装在类中,如
class SearchRequest {
@Size(min=4)
@NotNull
private String query;
...
}
然后将控制器代码更改为
@GetMapping("/search")
public List<Result> search(@ModelAttribute @Valid SearchRequest searchRequest) {
return searchService.search(searchRequest.getQuery());
}
我想验证请求参数。我已经浏览了很多博客并回答了问题,我也做了同样的事情。在控制器类上添加了@Validated。 控制器中的方法: 控制器建议 配置: 完成所有这些之后,现在我得到一个404错误。"状态":404,"错误":"未找到","消息":"没有可用的消息"
是否有一种方法可以在@RequestParams上进行spring控制器单元测试以进行javax验证。 我在控制器中有一个get方法,它用@size验证请求参数的大小。 有没有办法模拟jUnit测试大小验证器?我想验证大小为 样本测试: @RunWith(MockitoJUnitRunner.class)公共类MyControllerTest{ } 我也试过SpringRunner,但似乎还是失败
我的Spring MVC+Apache Tile2项目有以下配置。 我的问题是当我调用test2(没有参数)时,可以读取header.css。但是当调用test1时,我将得到header.css的404Not found。我注意到视图试图访问路径为 谢谢。
我正在编写一个Spring Boot应用程序。我编写了一个简单的控制器,每当endpoint被命中时就会被调用,但它仍然返回状态404,而不是指定的返回值。 HelloController 现在,每当我调用时,我都会看到控制台日志,但是永远不会返回。邮递员输出: 应用JAVA
在过去几个月里,我的应用程序的用户收到以下错误: 谷歌。谷歌。应用程序。请求。请求错误配额超出配额组“默认”,并限制消费者“project_number:*”的服务“calendar-json.googleapis.com”的“每天查询”。[403]错误[消息[配额超出配额组“默认”,并限制消费者“project_number”的服务“calendar-json.googleapis.com”的“
我是新来的Spring应用程序。我试图创建小Spring应用程序,但我得到404错误消息。似乎控制器(indexController)没有开始调用。我累了调试,但它不在那里。 文件位置: /WebContent/WEB-INF/pages/index.html /WebContent/WEB-INF/HelloWebServlet。xml /WebContent/WEB-INF/web.xml H