当前位置: 首页 > 面试题库 >

400 Hibernate @Valid的错误请求

司允晨
2023-03-14
问题内容

验证表单时,我的行为很奇怪。

一旦添加了Hibernate @Valid批注,如果发布的数据无效,Tomcat会将我的请求视为“错误”。如果数据有效,则无后顾之忧。

我用:

  • Tomcat 7.0.52
  • Javax验证API 1.1.0.Final
  • Hibernate Validator 5.1.0.Final
  • Spring 4.0.3发布

目前,我做了一个非常简单的验证:

public class RemoveCacheElementForm {

    @NotBlank(message = "Please select a cache name.")
    private String name;

    @NotBlank(message = "Please select a cache entry key.")
    private String key;

Spring控制器:

/**
 * Handler to remove one cached elements from the specified cache.
 * 
 * @return the view.
 */
@RequestMapping(value = CACHE_REMOVE, method = RequestMethod.POST)
public String removeCachedElement(ModelMap model, @Valid @ModelAttribute(FORM_NAME) RemoveCacheElementForm form) {
    model.addAttribute("removeElementResult", CacheUtils.removeCachedElement(form.getName(), form.getKey()));
    initializeModel(model);
    return CACHE_ADMIN_PAGE;
}

当我删除@Valid注释时,也不必担心。

有人有主意吗?

非常感谢你的帮助!:-)


问题答案:

尝试将代码更改为

@RequestMapping(value = CACHE_REMOVE, method = RequestMethod.POST)
public String removeCachedElement(ModelMap model, @Valid @ModelAttribute(FORM_NAME) RemoveCacheElementForm form, BindingResult bindingResult) {
    model.addAttribute("removeElementResult", CacheUtils.removeCachedElement(form.getName(), form.getKey()));
    initializeModel(model);
    return CACHE_ADMIN_PAGE;
}


 类似资料:
  • 我是新来的。我正在创建注册功能,但当我发布请求时,它给我的错误是:“发布有效请求”。请你检查一下我的代码,告诉我我做错了什么。 服务 注册组件 注册HTML 用户界面

  • 和ErrorHandler类: 问题是,如果我在RestExample.add方法中添加一个“Throw new RuntimeException”,那么RestErrorHandler类将正确处理该异常。 但是,当将一个无效的请求向控制器卷取时,RestErrorHandler不会捕获验证器抛出的异常,而我会收到一个400BadRequest响应。(对于无效请求,我指的是未指定用户名的xml请求

  • 问题内容: 在REST控制器中同时使用 @ControllerAdvice 和 @Valid 批注时,遇到了麻烦。 我有一个声明如下的rest控制器: 还有一个ErrorHandler类: 问题是,如果我在 RestExample.add* 方法中添加 “引发新的RuntimeException” ,则该异常由 RestErrorHandler 类正确处理。 *** 但是,当向控制器卷曲无效请求时

  • 和错误处理方法为: customer.java(模型): json数据: 我可以捕获HttpMessageNotReadableException并进行处理。 错误处理已更改的方法。 但是,继承来创建基类或在所有控制器中编写这段代码感觉我没有看到spring的设计概念,因为它决定在那里处理以创建一个新的ExceptionResolver。 谢谢,

  • 我有一个基于Spring Web model view controller(MVC)框架的项目。Spring Web模型-视图-控制器(MVC)框架的版本是3.2.8 我有这个控制器 这个URL一切正常:

  • 目前从Angular JS controller中,我试图将JSON数据发送到后端服务。但是我有400个错误的请求错误。 在Controller中,我试图通过http服务发送数据,如下所示: