
常用 ASP.NET Core Web API 标准返回
成功状态码 (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, "服务器内部错误");