小编the*_*cat的帖子

ASP.NET Core在Forbid上给我Code 500()

我试图解决这个问题几个小时,我找不到任何东西.基本上我有一个简单的控制器,大致如下所示:

[Route("v1/lists")]
public class ListController : Controller
{
    ...

    [HttpPost("{id}/invite")]
    public async Task<IActionResult> PostInvite([FromBody] string inviteSecret, [FromRoute] int id, [FromQuery] string userSecret)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        List list = await context.Lists.SingleOrDefaultAsync(l => l.ID == id);
        if (list == null)
        {
            return NotFound();
        }

        User postingUser = await context.Users.SingleOrDefaultAsync(u => u.ID == list.CreationUserID);
        if (postingUser == null || postingUser.Secret != userSecret)
        {
            return Forbid();
        }

        await context.ListInvites.AddAsync(new ListInvite{ListID = id, InviteSecret = inviteSecret});
        await context.SaveChangesAsync();
        return Ok();
    } …
Run Code Online (Sandbox Code Playgroud)

c# asp.net web asp.net-web-api asp.net-core

9
推荐指数
1
解决办法
1657
查看次数

标签 统计

asp.net ×1

asp.net-core ×1

asp.net-web-api ×1

c# ×1

web ×1