java - 400 带有 application/x-www-form-urlencoded 数据的错误请求 spring mvc Controller

标签 java spring-mvc

我有一个 spring mvc Controller ,它接受application/x-www-form-urlencoded 数据。我正在从 html 表单将数据发布到此 Controller ,并且表单中有日期字段。我的问题是,当我发送日期的空值时,我收到错误400 bad request,当我指定日期值时,它工作正常。

这是我的 Spring MVC Controller

@RequestMapping(value="/createorderform",method=RequestMethod.POST,headers = "content-type=application/x-www-form-urlencoded")
public void createOrder(Model model,  @ModelAttribute Order order,HttpSession session){
    System.out.println("Inside Order Controller");  
    String CustomerName;
    System.out.println("hiiiii");
    Customer customer=null;
}

当我发送空日期值时,控制不会进入 mvc Controller 内部。如何允许我的 mvc Controller 采用 null 值?

最佳答案

我通过使用 BindingResult 解决了这个问题

public void createOrder(Model model, @Valid @ModelAttribute Order order, BindingResult errors,HttpSession session){


    if (errors.hasErrors()) {
        // error handling code goes here.
        System.out.println("inside controlelr");
      }

@Valid 告诉 Spring Controller 验证 Order 对象并 BindingResult 对象保存验证结果并绑定(bind)可能发生的错误。 BindingResult 必须紧接在模型对象之后

关于java - 400 带有 application/x-www-form-urlencoded 数据的错误请求 spring mvc Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29158769/

相关文章:

java - 如何格式化动态生成的单元格

java - Gson 具有静态类型或运行时类型

java - 如何实现离线 GOT map

java - ExecutorService 中的不确定任务

spring - 只有 Spring-MVC 需要哪些 jars?

java - 如何根据用户输入的时间完成工作

java - 使用注释的构造函数注入(inject)

java - 如何使用 @ControllerAdvice 在 Spring MVC 中返回 ResponseEntity 的方法中返回错误消息

java - Spring Webapp 与 Hibernate、注解驱动、一个又一个问题、源代码链接

java - Spring MVC : Where to place validation and how to validation entity references