成功状态码 (2xx)

  • Ok()

    • 返回类型: OkResult (继承自 StatusCodeResult) 或 OkObjectResult (继承自 ObjectResult)

    • HTTP 状态码: 200 OK

    • 用途: 表示请求已成功处理。

      • Ok(): 返回一个空的 200 OK 响应。

      • Ok(value): 返回 200 OK 响应,并将 value 序列化为响应体。

    • 示例: return Ok();return Ok(new { Message = "操作成功" });

  • Created(uri, value)

    • 返回类型: CreatedAtActionResult (继承自 ObjectResult) 或 CreatedAtRouteResult (继承自 ObjectResult)

    • HTTP 状态码: 201 Created

    • 用途: 表示请求已成功,并在服务器上创建了新资源。响应通常包含新资源的 URI。

    • 示例: return Created("api/products/1", new Product { Id = 1, Name = "New Product" });

  • NoContent()

    • 返回类型: NoContentResult (继承自 StatusCodeResult)

    • HTTP 状态码: 204 No Content
      HTTP 状态码: 204 无内容

    • 用途: 表示请求已成功处理,但没有内容返回。常用于 DELETE 或 PUT 操作成功但不需要返回数据的场景。

    • 示例: return NoContent();

  • Accepted()

    • 返回类型: AcceptedResult (继承自 StatusCodeResult) 或 AcceptedAtActionResult (继承自 ObjectResult)

    • HTTP 状态码: 202 Accepted

    • 用途: 表示请求已被接受进行处理,但处理尚未完成。

    • 示例: return Accepted();

客户端错误状态码 (4xx)

  • BadRequest()

    • 返回类型: BadRequestResult (继承自 StatusCodeResult) 或 BadRequestObjectResult (继承自 ObjectResult)

    • HTTP 状态码: 400 Bad Request

    • 用途: 表示客户端发送的请求无效或格式不正确。

      • BadRequest(): 返回一个空的 400 Bad Request 响应。

      • BadRequest(value): 返回 400 Bad Request 响应,并将 value(通常是错误信息或模型验证错误)序列化为响应体。

    • 示例: return BadRequest("请求参数无效");return BadRequest(ModelState);

  • Unauthorized()

    • 返回类型: UnauthorizedResult (继承自 StatusCodeResult)

    • HTTP 状态码: 401 Unauthorized

    • 用途: 表示请求需要用户身份验证。

    • 示例: return Unauthorized();

  • Forbidden()

    • 返回类型: ForbidResult (继承自 StatusCodeResult)

    • HTTP 状态码: 403 Forbidden

    • 用途: 表示服务器拒绝了请求。与 401 不同,403 表示客户端已通过身份验证,但无权访问该资源。

    • 示例: return Forbid();

  • NotFound()

    • 返回类型: NotFoundResult (继承自 StatusCodeResult) 或 NotFoundObjectResult (继承自 ObjectResult)

    • HTTP 状态码: 404 Not Found

    • 用途: 表示服务器找不到请求的资源。

      • NotFound(): 返回一个空的 404 Not Found 响应。

      • NotFound(value): 返回 404 Not Found 响应,并将 value 序列化为响应体。

    • 示例: return NotFound();return NotFound("未找到指定资源");

  • Conflict()

    • 返回类型: ConflictResult (继承自 StatusCodeResult) 或 ConflictObjectResult (继承自 ObjectResult)

    • HTTP 状态码: 409 Conflict

    • 用途: 表示请求与服务器的当前状态冲突,例如尝试创建已存在的资源。

    • 示例: return Conflict("资源已存在");

服务器错误状态码 (5xx)

  • StatusCode(statusCode)

    • 返回类型: StatusCodeResult (继承自 ObjectResult)

    • HTTP 状态码: 任意自定义状态码 (例如 500 Internal Server Error)

    • 用途: 返回指定的 HTTP 状态码。当没有更具体的辅助方法可用时,这非常有用。

    • 示例: return StatusCode(500, "服务器内部错误");