# Status Codes
By default, successful handlers return a 200 OK. However, robust APIs use a variety of status codes (201 Created, 404 Not Found, 400 Bad Request) to communicate accurately.
#HttpResponse Builders
The HttpResponse struct provides static methods for common status codes.
code_blocksrust
use actix_web::HttpResponse;
async fn created() -> HttpResponse {
HttpResponse::Created().body("Resource created") // 201
}
async fn forbidden() -> HttpResponse {
HttpResponse::Forbidden().body("Access denied") // 403
}#Custom Status Codes
If you need a specific code not provided by a convenience method, use build() with a StatusCode enum.
code_blocksrust
use actix_web::{http::StatusCode, HttpResponse};
async fn custom_status() -> HttpResponse {
HttpResponse::build(StatusCode::IM_A_TEAPOT)
.body("Short and stout")
}