2017-01-21 17 views
0

私のメソッドでは、paramは常にnullになりますが、他のリクエストタイプ(get、put、delete)は発生しません。ASP.NET CORE 1.1 API REST、POSTリクエストでパラメータが常にnullになる

この問題はリクエストタイプPOSTで発生します。

これは私の方法

[HttpPost] 
    public IActionResult Post([FromBody]Dificuldade value) 
    { 

     if (value == null) 
     { 
      return BadRequest(); 
     } 

     return CreatedAtRoute("Get", new { id = value.Id }, value); 
    } 

は、これは私のモデル

public class Dificuldade 
{ 
    public int Id { get; set; } 

    //Pessoa pela qual passa difilcudade ou relatou o problema 
    public string NomePessoa { get; set; } 

    public string Latitude { get; set; } 

    public string Longetude { get; set; } 

    //Descricao da difilcudade 
    public string Descricao { get; set; } 

    public DateTime DataHoraRegistrado { get; set; } 

    public DateTime DataHoraSolucionado { get; set; } 

    public bool Solucionado { get; set; } 

    public int BairroId { get; set; } 
    public Bairro Bairro { get; set; } 

    public int CategoriaId { get; set; } 
    public Categoria Categoria { get; set; } 

    //Usuario no qual fez o registro 
    public int UsuarioId { get; set; } 
    public Usuario Usuario { get; set; } 
} 

であり、これはPostman

+0

私はPostmanに慣れていませんが、 'x-www-form-urlencoded'を選択する必要があると思います – CodingYoshi

+0

@ CodeYoshiいいえ、OPはContent-Typeが正しいようにJSONを送信しています。 – juunas

答えて

4

あなたの行動は、個々のオブジェクトを受け入れる私の要求です。あなたはそれらの配列を送信しています。

{ "id":1, "namePessoa": "Something"... } 

の代わりに::

ですから、のようなものを送信する必要がありますあなたがオブジェクトのセットを受信したいの代わり場合

[{ "id":1, "namePessoa": "Something"... }] 

、あなたはこのようなあなたのコントローラのアクションを変更する必要があります:

public IActionResult Post([FromBody]List<Dificuldade> value) 
+1

この回答は良いですが、解決策を提案したいかもしれません。コントローラのアクションを変更してアレイを受け入れるか、またはリクエストを変更してアレイではなく1つのアイテムを送信してください。 – CodingYoshi

+0

lol kk、ありがとう、私の悪い –

+0

@コーディングYoshi編集: – juunas

関連する問題