0

を使用して角度からAPIをaspnetcoreする投稿:私はうまく働いた。この使用闊歩とAjaxをテストしてみた

function Login(email, password, callback) 
{ 
     var GetAll = new Object(); 
     GetAll.email = email; 
     GetAll.password = email; 
     $http({ 
      url: "http://localhost:52587/api/TokenAuth/Login", 
      dataType: 'json', 
      method: 'post', 
      data: JSON.stringify(GetAll),  
      headers: { 
         'Content-Type': 'application/json' 
         }  
     }) 
     .then(function loginSuccessCallback(response) 
{... 

。私は本体のjsonオブジェクト(rawとJSON(application/json)に設定されています)で設定しました。

私は、次のWeb API書かれています:

namespace WEBAPI.Controllers 
{ 
    public class user 
    { 
     public string email { get; set; } 
     public string password { get; set; } 
    } 

[Produces("application/json")] 
[Route("api/[controller]")]  
public class TokenAuthController : Controller  
{ 

    [HttpPost("Login")]  
    public async Task`<IActionResult>` Login([FromBody]user usr) 
{ 
..................    
..................    
}  
}   
} 

をしかし、私は[FromBody] nullパラメータを取得せずに[FromBody] 415のサポートされていないメディアタイプと を取得しています。助けてください
誰かが私が間違っているのを見て?

答えて

0

あなたは何が本当に必要なのJSONオブジェクトですので、あなたのデータをJSON.stringifyする必要はありませんacceptヘッダ

headers: { 
     'Content-Type': 'application/json', 
     'Accept': 'application/json' 
} 
+0

私も試みましたが、私は415サポートされていないメディアタイプを取得しています。 –

2

を追加してみてください。文字列としてデータを作成すると、確実に415(サポートされていないメディアタイプ)エラーが表示されます。 このようにすることができます

$http({ 
      url: "http://localhost:52587/api/TokenAuth/Login", 
      dataType: 'json', 
      method: 'post', 
      data: GetAll,  
      headers: { 
         'Content-Type': 'application/json' 
         }  
     }) 
.then(function loginSuccessCallback(response) 
関連する問題