HTTP 201 Created vs 428 Precondition Required
HTTP 201 (Created) is a 2xx Success response, while 428 (Precondition Required) is a 4xx Client Error response. 201 indicates that the request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity. In contrast, 428 means that the server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.
الوصف
The request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity.
متى تراه
After successfully creating a new user, post, order, or other resource via a REST API.
كيفية الإصلاح
No fix needed. Check the Location header for the URL of the new resource.
الوصف
The server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.
متى تراه
When an API requires optimistic concurrency control via ETags.
كيفية الإصلاح
Fetch the resource first to get its ETag, then include If-Match in your update request.
الفروق الرئيسية
201 is a 2xx Success response, while 428 is a 4xx Client Error response.
HTTP 201: The request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity.
HTTP 428: The server requires the request to be conditional (e.g., include If-Match header) to prevent lost updates.
You encounter 201 when after successfully creating a new user, post, order, or other resource via a REST API.
You encounter 428 when when an API requires optimistic concurrency control via ETags.
متى تستخدم أيًا منهما
For 201 (Created): No fix needed. Check the Location header for the URL of the new resource. For 428 (Precondition Required): Fetch the resource first to get its ETag, then include If-Match in your update request.