.NET Core MVC Restサービスで新しいコントローラを作成しましたが、APIを呼び出すときにPOST関数にルーティングされません。.NETコアMVCコントローラがPOST関数にルーティングされない
私はこれとまったく同じ形式の既存のコントローラを持っていますが、なぜサービス機能が呼び出されないのか判断できません。要求は常にジェネリック500エラーを返します。
URL: https://address:port/api/TOSResponse
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
using MyProject.ActionFilters;
using MyProject.Common.Exceptions;
using MyProject.Services;
namespace MyProject.Controllers
{
[ServiceFilter(typeof(KeyValidatorFilter))]
[Route("api/[controller]")]
public class TOSResponseController : Controller
{
private ITOSResponseService _tosResponseService;
public TOSResponseController(ITOSResponseService tosResponseService)
{
_tosResponseService = tosResponseService;
}
[HttpPost]
public IActionResult Post([FromBody] List<Models.TermsOfServiceResponse> tosResponses)
{
try
{
_tosResponseService.InsertOrUpdate(tosResponses);
return new OkResult();
}
catch (PLException ex)
{
return new BadRequestObjectResult(ex.ErrorValue);
}
}
}
}
をあなたが使用しているURLを表示する必要があります:
ITOSResponseService
への参照が解決できなかったので、コントローラーもインスタンス化されていなかった、私はStartup.cs
にConfigureServices
機能でIoCコンテナでサービスを登録することを怠っおよびServiceFilterロジック。 – mason私は答えを編集するつもりです –