我遇到了一个无法解决的问题,因为我使用backend
创建了Java API for RESTful Web Services
系统。我在这个论坛上看到过与我类似的一些问题,但我无法解决这个问题。
Possibly unhandled rejection:
{
"data": {
"timestamp": 1518840352603,
"status": 500,
"error": "Internal Server Error",
"exception": "org.springframework.dao.DataIntegrityViolationException",
"message": "could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement",
"path": "/postNewProducts"
},
"status": 500,
"config": {
"method": "POST",
"transformRequest": [null],
"transformResponse": [null],
"jsonpCallbackParam": "callback",
"url": "http://localhost:9000/postNewProducts",
"data": {
"name": "er",
"price": "34"
},
"headers": {
"Accept": "application/json, text/plain, */*",
"Authorization": "Basic MTIzOjEyMw==",
"Content-Type": "application/json; charset=utf-8"
}
},
"statusText": ""
}
在backend
中,它无法保存数据,因为它们是以null
发送的。所以我无法解决这个问题。我正在使用Angular 1.6
答案 0 :(得分:0)
后端
@Autowired
private Products_Repo prodrepo;
@GetMapping(value="/getAllProducts")
public Iterable<Products> ListaProduct() {
Iterable<Products> ListaProduct = prodrepo.findAll();
return ListaProduct;
}
@PostMapping("/postNewProducts")
public @ResponseBody Products CadastrarProduct(Products products) {
return prodrepo.save(products);
}
前端
angular.module('app').controller(
&#39; ProdutosControllerCreate&#39;,function($ scope,ProductsFactory,$ http){
$scope.saveproduct = function(){
var response = $http({
method: 'POST',
url: "http://localhost:9000/postNewProducts",
data: $scope.product
}).then(function(data, status, headers, config){
$scope.product = null;
});
}
});
<div ng-controller="ProdutosControllerCreate">
<form name="addprodutosform" ng-submit="saveproduct()">
<table>
<tr>
<td>Nome do Produto</td>
<td><input type="text" ng-model="product.name"/></td>
</tr>
<tr>
<td>Preco</td>
<td><input type="text" ng-model="product.price"/></td>
</tr>
<td colspan="2"><input type="submit"/></td>
</table>
</form>
答案 1 :(得分:0)
数据完整性异常发生在后端:
1)您从UI发送的某些数据类型与Pojo中定义的数据类型不同。
2)或者,您在Pojo中定义的数据类型与实体
中的数据类型不匹配
3)或最后一个,Java Entity类具有不同的数据类型,但您在DB中创建具有不同数据类型的列。
这些是数据完整性问题最常见的事情。
答案 2 :(得分:0)
好的,但在我的后端我分别在数据库中有名称和价格,因为我使用了hibernate,它生成名称和价格,name = varchar(255)和price = int(11)我不知道如何解决它...在数据库中我把它接受空数据空数据被发送到银行。