c# - ASP.NET Core Web API 错误请求
问题描述
我有点困惑 - 我创建了一个 ASP.NET Core Web API MVC 项目,但是当我尝试发出请求时,我得到以下响应:
我正在使用 Postman 向https://localhost:44337/api/Solve发布以下正文:
{
"examId":"0f537776-1acf-478f-82ee-c8476bc3e005",
"selectedAnswers":
[
{
"id":"9163fd1c-ec0f-4f1f-8ead-05ffeac36426",
"answerText":"Yes",
"isCorrect":true
},
{
"id":"00545a13-212b-46a5-9d06-3f6abbb9f1d8",
"answerText":"Yes",
"isCorrect":true
}
]
}
并将其作为响应接收:
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Bad Request",
"status": 400,
"traceId": "8000005f-0001-ff00-b63f-84710c7967bb"
}
我已经包含了 Content-Type。GlobalConstants.RouteConstants.ApiRoute = "api/" GlobalConstants.RouteConstants.PostSolve = "Solve" 这是我的控制器:
[Route(GlobalConstants.RouteConstants.ApiRoute)]
[ApiController]
public class ESchoolController : ControllerBase
{
protected IApiService ApiService { get; set; }
public ESchoolController(IApiService apiService)
{
this.ApiService = apiService;
}
//POST: api/Solve
[HttpPost]
[Route(GlobalConstants.RouteConstants.PostSolve)]
public IActionResult Solve([FromBody]ExamApiSolveInputModel model)
{
if (!this.ModelState.IsValid)
{
return this.BadRequest();
}
try
{
var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
var result = this.ApiService.SolveExam(model, userId);
return this.Ok(result);
}
catch (Exception e)
{
return this.BadRequest(e.Message);
}
}
}
这是我的输入模型:
public class ExamApiSolveInputModel
{
public ExamApiSolveInputModel()
{
this.SelectedAnswers = new List<AnswerApiInputModel>();
}
public string ExamId { get; set; }
public ICollection<AnswerApiInputModel> SelectedAnswers { get; set; }
}
public class AnswerApiInputModel
{
public string Id { get; set; }
public string AnswerText { get; set; }
public bool IsCorrect { get; set; }
}
我一直在寻找解决方案,但没有成功。我尝试了一些类似的东西:
- 当我提出请求时,它没有进入控制器。我已经用调试器检查过了。
- 制作另一个 post 方法,但它再次没有通过调试器输入代码,所以我认为问题不在代码中。
任何想法如何解决这个问题?非常感谢,节日快乐!
解决方案
我services.AddMvc(options => services.AddMvc(options => options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute()));
从Startup.cs文件中删除了,问题就消失了!
推荐阅读
- python - 将多个数据帧转换为特定格式很热?
- javascript - 如何在开始时使用插入符号在 JavaScript 中创建选择?
- office-addins - 如何为 Outlook Web 插件设计移动视图
- python - 如何在一个烧瓶项目中设置两个 os.environ
- python - 使用python下载嵌入式视频(如:fembed)
- javascript - 隐藏使用 JavaScript 动态创建的输入按钮
- mysql - 将数据从 laravel 表单存储到数据库有多少种方法?
- azure-functions - 使用 az rest 获取 azure 功能键
- vscode-extensions - 在 VS Code Webview 中使用浅色/深色主题图标
- powershell - Powershell 将变量转换为 utf-16