在ASP核心Web API中未输入HTTPPOST操作

时间:2018-11-18 14:01:35

标签: asp.net asp.net-web-api asp.net-core-2.0 asp.net-core-webapi asp.net-core-2.1

我在asp core2.2中创建了一个Web服务,并从客户端(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?}"
            );
        });
    }

我使用此地址访问RoleManager Controller中的Create Roles Actoin:

https://localhost:44390/api/role/createrole

,但不起作用。当我使用此角色时,它可以正常工作:https://localhost:44390/api/role/GetRoles,但我不知道问题出在哪里,该如何解决。

我上次运行该项目,它从Client提供数据,但现在不起作用。我没有更改服务器代码中的任何内容。

我该如何解决这个问题??

角色动作

 [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();
        }
    }

1 个答案:

答案 0 :(得分:1)

您能通过邮递员点击CreateRole吗?如果要在Json中发布,请通过将accept标头设置为application / Json来尝试。 如果成功命中,则意味着您需要在启动WebAPI时配置InputFormatter以接受从角度应用程序发布的格式,或者尝试更改发送的格式。

相关问题