Skip to content
IRC-Coding IRC-Coding
REST HTTP Status Codes Idempotency Stateless OpenAPI

RESTful Design Principles: HTTP Methods & Status Codes

Master RESTful API design: HTTP methods, status codes, idempotency, statelessness, security, and best practices.

S

schutzgeist

2 min read
RESTful Design Principles: HTTP Methods & Status Codes

RESTful Design Principles

This post is a term explanation of RESTful Design Principles – including exam questions, key points, and tags.

In a Nutshell

REST (Representational State Transfer) is an architectural approach for HTTP-based APIs: clear methods, resource URIs, status codes, and statelessness.

Concise Technical Description

REST uses HTTP methods for CRUD:

  • GET: read
  • POST: create
  • PUT: replace completely
  • PATCH: modify partially
  • DELETE: delete

REST follows the principle of statelessness: each request contains all necessary information; the server stores no session state.

Idempotency is important for retries:

  • idempotent: GET, PUT, DELETE
  • not necessarily idempotent: POST, PATCH

Results are communicated via status codes (e.g., 200, 201, 404, 500). Common data formats are JSON/XML.

Exam-Relevant Key Points

  • HTTP methods for CRUD
  • REST is stateless
  • Idempotency: repetitions must not double side effects
  • Resource URIs, e.g. /api/users/123
  • Status codes (200, 201, 404, 500) (IHK-relevant)
  • PATCH modifies only partial fields
  • Security: HTTPS, token auth, CORS
  • Documentation: OpenAPI/Swagger (documentation requirement)

Core Components

  1. HTTP methods
  2. Resource URI conventions
  3. Status codes (2xx/4xx/5xx)
  4. REST conformance (Richardson)
  5. Idempotency rules
  6. Statelessness
  7. Content negotiation (Accept/Content-Type)
  8. JSON/XML
  9. Auth (Bearer/API-Key)
  10. OpenAPI/Swagger

Practical Example (User API)

GET /users
POST /users
GET /users/1
PUT /users/1
PATCH /users/1
DELETE /users/1

Advantages and Disadvantages

Advantages

  • Simple, easy to understand
  • Standard protocol (HTTP)
  • Platform/language independent
  • Highly scalable

Disadvantages

  • No built-in session management
  • Can become “chatty” (many requests)
  • Complex operations require clean modeling

Typical Exam Questions (with Short Answer)

  1. What does stateless mean? Server stores no session state; request must be complete.
  2. Which methods are idempotent? GET, PUT, DELETE.
  3. PUT vs PATCH? PUT replaces completely, PATCH only partial fields.
  4. What does 201 mean? Resource was created.

Open-Ended Answer

REST is the backbone of modern web APIs. In exams/projects, you must document endpoints cleanly, choose methods correctly, and use status codes properly.

Learning Strategy

  1. Test APIs with Postman/curl.
  2. Build a mini-API with CRUD routes.
  3. Memorize methods/status codes/idempotency.
  4. Use PUT/DELETE only idempotently.

Topic Analysis

  • Core: HTTP, URI design, JSON
  • Challenges: Versioning, error handling, auth
  • Security: Access control, encryption, CORS
  • Documentation: OpenAPI, examples, error catalog
  • Economics: Standardization saves time

Further Information

  1. https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design
  2. https://developer.mozilla.org/de/docs/Web/HTTP/Methods
  3. https://restfulapi.net/
  4. https://swagger.io/specification/
Back to Blog
Share:

Related Posts