Home > Software design >  BindingResult haserror() not working and gives only same answer
BindingResult haserror() not working and gives only same answer

Time:08-17

I want to write Binding result without JSP file and I wrote like this. But I get same result every time

  @RequestMapping(value = "/submit", method = RequestMethod.POST)
        public ResponseEntity<?> submit(@RequestBody Employee employee,BindingResult bindingResult) throws EmployeeNotFoundException {
            if (!bindingResult.hasErrors())
               return new ResponseEntity<>(employeeRepository.save(employee), HttpStatus.CREATED);
    
        else{
        return new ResponseEntity<>(" not working", HttpStatus.CONFLICT);
    }
    }

CodePudding user response:

Looks like you missed javax.validation.Valid annotation for your request body :

    public ResponseEntity<?> submit(@Valid @RequestBody Employee 
employee,BindingResult bindingResult) throws EmployeeNotFoundException {

Once you have annotated your method with Valid annotation, your request body will get validated in controller layer & any validation related errors can be seen in your else block of if (!bindingResult.hasErrors()).

Tip : You can also throw org.springframework.web.bind.MethodArgumentNotValidException in absence of BindingResult in your method argument.

  • Related