2017-05-29 7 views
2

私はasp.netコアWeb APIプロジェクトでEF7とstoredprocuduresを使用してCRUD操作を実装しています。私はgetメソッドの実装を終了し、insertメソッドを使いました。私はWebメソッドをテストするためにPostmanを使用しています。私は作成のための実装を書いていますが、ポストマン経由の情報はコントローラのCreateウェブメソッドに当たっていません。誰かが私に問題の可能性があることを教えてもらえますか?取得と送信のルートは、メソッドのシグネチャが異なる以外は同じです。Webメソッドをポストしない+ asp.netコアwebapi

コントローラ

public class MoviesController : Controller 
{ 
    private readonly IMoviesRepository _moviesRepository; 

    public MoviesController(IMoviesRepository moviesRepository) 
    { 
     _moviesRepository = moviesRepository; 
    } 

    [HttpGet] 
    [Route("api/Movies")] 
    public async Task<IActionResult> GetMovies() 
    { 
     var movies = await _moviesRepository.GetMovies(); 
     var results = Mapper.Map<IEnumerable<MoviesDto>>(movies); 
     return Ok(results); 
    } 

    [HttpGet] 
    [Route("api/Movies/{ID}")] 
    public async Task<IActionResult> GetMovie(int ID) 
    { 
     var movie = await _moviesRepository.GetMovie(ID); 
     var results = Mapper.Map<IEnumerable<MoviesDto>>(movie); 
     return Ok(results); 

    } 


    [HttpPost] 
    [ValidateAntiForgeryToken] 
    [Route("api/Movies")] 
    public IActionResult CreateMovie([FromBody] MoviesDto movies) 
    { 

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

     // Check if movie exists 
     var movie = _moviesRepository.GetMovie(movies.MovieId); 
     if (movie == null) 
     { 
      return NotFound(); 
     } 

     var results = Mapper.Map<Movies>(movies); 

     if (ModelState.IsValid) 
     { 
      _moviesRepository.AddMovie(results); 
     } 

     return Ok(results); 

    } 
} 

この問題は修正されているポストマン enter image description here

+2

偽造防止クッキーを追加するのを忘れたようです。または、逆シリアル化エラーです。または、他の何か。プログラムをデバッグしてログを確認して、詳細情報を収集することができます。 [最小限で完全で検証可能なサンプルの作成方法](https://stackoverflow.com/help/mcve) –

答えて

0

。私は偽造防止トークンを削除しなければならなかった

関連する問題