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