asp.net - 不在 asp core web api 中输入 HTTPPOST Action
问题描述
我在其中创建了一个 Web 服务asp core2.2
并从客户端发送数据(angular6)
。
我在Admin
区域的控制器。
这个启动:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseSignalR(routes =>
{
routes.MapHub<CrudRealTime>("/CrudRealTime");
});
app.UseCors("CorsPolicy");
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areas",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
);
});
}
我使用此地址访问Create Roles
RoleManager 控制器中的 Actoin:
https://localhost:44390/api/role/createrole
但它没有进入行动。当我使用这个角色时它可以工作:https://localhost:44390/api/role/GetRoles
但我不知道问题是什么,我该如何解决这个问题。
上次我运行该项目并从客户端提供数据但现在它不起作用。我没有更改服务器代码中的任何内容。
我怎么解决这个问题 ????
角色动作
[HttpPost("CreateRole")]
public async Task<IActionResult> CreateRole([FromBody]RolePostModel model)
{
if (ModelState.IsValid)
{
var result = await _roleManag.CreateAsync(new Role(model.description, model.rolelevel, model.name));
if (result.Succeeded)
{
return Ok(Messagesresx.Success_Add_Role);
}
else
{
return Content(Messagesresx.Fail_Add_Role_In_DataBase);
}
}
else
{
return BadRequest();
}
}
解决方案
你能通过 Postman 打 CreateRole 吗?如果您在 Json 中发布,请尝试将接受标头设置为 application/Json。如果它成功命中,则意味着您需要在 WebAPI 启动中配置 InputFormatter 以接受您从 Angular 应用程序发布的格式,或者尝试更改您发送的格式。
推荐阅读
- c# - JSON 响应对象和 C# 最佳实践?
- instagram - Instagram 应用程序修订版怎么样?
- javascript - chrome 扩展中的 captureVisibleTab 返回双倍大小的图像
- java - 只有在我的 Google Pixel 2 上运行 Android 应用程序才会崩溃
- ruby-on-rails - RSpec: Method test will not pass unless method called therein is also tested?
- apache-flink - 除了使用 .startNewChain() 之外,还有没有办法在集群 gui 中拆分 Flink 任务?
- mysql - 从 EC2 到 RDS 的连接速度很慢,而到 RDS 的本地连接很好
- python - Python scikit-learn:如何将决策树叶转换为虚拟变量?
- c# - 获取属性名称的轴心并列出属性值
- youtube - API - 任何方式来验证播放列表 ID?