メソッドを介してKnockoutオブザーバブルから JSON に変換された JSON オブジェクトを含む「POST」リクエストを送信しています。Amplifyko.toJSON
を使用して送信します。
これは私の増幅設定です:
amplify.request.define('addContract', 'ajax', {
url: '/api/contractmanager/contracts/create',
dataType: 'json',
type: 'POST'
});
そして、これは私のdataservise
データを追加する方法です:
addContract = function (callbacks, data) {
return amplify.request({
resourceId: 'addContract',
data: data,
success: callbacks.success,
error: callbacks.error
});
};
実際にリクエストを送信する方法は次のとおりです。
contracts.addData = function (contractModel, callbacks) {
var contractModelJson = ko.toJSON(contractModel);
return $.Deferred(function (def) {
dataservice.contract.addContract({
success: function (dto) {
if (!dto) {
logger.error('Error saving!');
if (callbacks && callbacks.error) { callbacks.error(); }
def.reject();
return;
}
},
error: function (response) {
logger.error('Error saving!');
if (callbacks && callbacks.error) { callbacks.error(); }
def.reject(response);
return;
}
}, contractModelJson);
}).promise();
};
バックエンドには、Jerseyで RESTful Web サービスを使用しています。
問題は、リクエストを送信するとすぐに「HTTP ステータス 415 - サポートされていないメディア タイプ」が表示され、サーバーの GlassFish が次のように言うことです。要求されたメソッド (サポートされていないメディア タイプ)。」
これが機能するために何か特別なものを設定する必要がありますか? 何か不足していますか?