5

私は 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();
    }
}
4

2 に答える 2