フロントエンドでは、Angularを使用してフォームからsomデータを収集し、それをサーバー側コントローラに送信します。画像が下に示すように、私はコントローラとサービスでデータ($ scope.newData)を取得しますが、サーバに到達すると、「サポートされていないメディアタイプ」とnewDataが空です。サポートされていないメディアタイプASP.NETコアWeb API
マイコントローラ:
// Create new salesman
$scope.addSalesman = function (newData) {
console.log("Controller");
console.log($scope.newData);
myService.addNewSalesman($scope.newData).then(function (data) {
console.log(data);
}, function (err) {
console.log(err);
});
};
マイサービス:
addNewSalesman: function (newData) {
console.log("service");
console.log(newData)
var deferred = $q.defer();
$http({
method: 'POST',
url: '/api/Salesman',
headers: { 'Content-type': 'application/json' }
}, newData).then(function (res) {
deferred.resolve(res.data);
}, function (res) {
deferred.reject(res);
});
return deferred.promise;
}
私のセールスマンモデル:
public class Salesman
{
public int SalesmanID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
public string BirthDate { get; set; }
public int Phone { get; set; }
public string Adress { get; set; }
public string City { get; set; }
public int Postal { get; set; }
public string Role { get; set; }
}
私のサーバー側コントローラ:
[Route("api/[controller]")]
public class SalesmanController : Controller
{
private readonly DataAccess _DataAccess;
public SalesmanController()
{
_DataAccess = new DataAccess();
}
[HttpPost]
public IActionResult PostSalesman([FromBody] Salesman newData)
{
return Ok(newData);
}
角度サービスが正しいヘッダーを送信し、JSONペイロードを送信していることがわかりますか? – MindingData
要素を検査し、ネットワークの下をチェックする場合。これは私がそれを見ることができる場所です。 – Fillah
リクエストペイロード+ヘッダーを表示するようお願いしています:) – MindingData