Je suis nouveau à Spring MVC, je construis un avec angularjs et Spring Boot.Angularjs Post appel à la botte à ressort
Lorsque j'ai essayé de faire un appel POST à travers angularjs, j'obtiens cette erreur. Mais quand j'ai essayé avec le facteur, il travaille avec x-www-form-urlencoded mais avec des données de formulaire je reçois l'erreur ci-dessous.
Message Man erreur
{
"timestamp": 1491406541851,
"status": 500,
"error": "Internal Server Error",
"exception": "org.springframework.dao.DataIntegrityViolationException",
"message": "PreparedStatementCallback; SQL [INSERT INTO employeedetails(Name, Company, Location,Age) VALUES (?,?,?,?)]; Column 'Name' cannot be null; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'Name' cannot be null",
"path": "/createEmployee"
}
appel HTTP dans AngularJS
$http({
\t \t method: 'POST',
\t \t url: "/createEmployee",
\t \t headers: {'Content-Type': 'application/x-www-form-urlencoded'},
\t \t data: $scope.employee,
\t \t }).success(function() {});
\t
\t @RequestMapping(value="/createEmployee", method=RequestMethod.POST,consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
\t public void createEmployee(employeeDetails empl)
\t {
\t \t System.out.println(empl.getAge());
\t \t empdao.createEmployee(empl);
\t }
Parce que dans votre ressort api vous acceptez type de média 'application/x-www-form-urlencoded' et non 'sous forme de données'. Si vous souhaitez l'envoyer en tant que données de formulaire, vous devez modifier votre API de printemps. – kaushlendras
pouvez-vous me donner le code à modifier –
Dans quel type, vous voulez envoyer des données ?? 'application/x-www-form-urlencoded' ou 'formulaire-données' ?? – kaushlendras