私は REST と AngularJS にまったく慣れていませんが、数時間グーグルで調べた後、質問に対する答えが見つかりませんでした。
angularjs フロントエンドから Java で実装されたバックエンド (JPA を使用) に POST リクエストを実行しようとしています。
json-object を作成して POST を実行しようとすると、常に415 (Unsupported Media Type) エラーが発生します。
(実際には、サービスの範囲に「入る」ことさえありません(つまり、「IN SERVICE」はコンソールに出力されません)。postData.toJSON()を追加すると、実際には「POSTed」になりますが、 null が到着します ...
POST を正常に取得するには、「postData」をどのようにフォーマットする必要がありますか?
(「 " 」なしで日付プロパティを書き込もうとしました-運が悪い...)
ご協力ありがとうございました!
フロントエンド:
app.controller('WorkController', function($scope, $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();
}
}