我是很新的REST和AngularJS,但经过几个小时google搜索我找不到任何回答我的问题:
我想从我的angularjs前端执行POST请求到我在java中实现的后端(使用JPA)。
当我尝试创建json对象并执行POST时,我始终得到415(不支持的介质类型)错误。 (实际上我甚至没有“进入”服务范围(iE“IN SERVICE”不会打印到控制台)。 如果我添加postData.toJSON(),它实际上会获得“贴”,但到达零...
怎么做我必须格式化我的“POSTDATA”为了成功地把被公布?
(我也试过没有写日期的属性'“ ' - 没有运气......)
谢谢你的帮忙!
前端:
app.controller( 'WorkController',函数($范围,$ HTTP){
$scope.saveWork = function() {
var postData = {
"status" : "OPEN",
"startDate": "1338364250000",
"endDate": "1336364253400",
"WorkText" : "Test"
};
$http.post("http://localhost:8080/service/v1/saveWork", postData)
.success(function(data, status, headers, config){
console.log("IN SAVE WORK - SUCCESS");
console.log(status);
})
.error(function(){
console.log("ERROR IN SAVE WORK!");
})
}
});
服务:
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response save(WorkDto wo){
System.out.println("IN SERVICE");
if(ass == null){
System.out.println("Could nor persist work- null");
return Response.noContent().build();
} else{
Work workDao = WorkTransformator.transform(wo);
workDao.persist();
return Response.ok().build();
}
}
您的服务如何使用应用程序xml和应用程序json类型?我认为最喜欢json的人最适合AngularJS后端。实际上, – user3360944
- 就我而言 - JSON是angularjs的默认内容类型。所以xml类型因此是不必要的 - 但避免这种类型不幸的是不能解决问题... – nicost