Code Explainers
Code explainers tagged #rest-api
python
from fastapi import APIRouter, BackgroundTasks, Depends, HTTPException, status from pydantic import BaseModel, EmailStr from sqlalchemy.orm import Session
Building a signup endpoint in FastAPI
dependency-injection
request-validation
background-tasks
Intermediate
8 steps
java
@RestController @RequestMapping("/api/products") public class ProductSearchController {
Binding collection query params in Spring
rest-api
query-parameters
dependency-injection
Intermediate
6 steps
php
<?php namespace App\Http\Support;
Adding RFC 5988 Link headers in Laravel
pagination
http-headers
rest-api
Intermediate
7 steps
python
from flask import Blueprint, jsonify from marshmallow import Schema, fields, validate, EXCLUDE from webargs.flaskparser import use_args
Validating query params in Flask with webargs
validation
schema
query-building
Intermediate
10 steps
python
import hashlib import json from fastapi import APIRouter, Request, Response, Depends, HTTPException, status
HTTP ETag caching in a FastAPI route
http-caching
etag
conditional-requests
Intermediate
9 steps
ruby
require "net/http" require "json" require "uri" require "base64"
Paginating an HTTP API with a Ruby enumerator
pagination
http
enumerator
Intermediate
7 steps
python
from flask import Blueprint, request, jsonify from marshmallow import Schema, fields, validate, ValidationError, EXCLUDE from .models import db, User
How a Flask blueprint validates and creates users
validation
rest-api
schema
Intermediate
8 steps
rust
use axum::{ extract::Path, http::StatusCode, routing::{get, post},
Building a REST resource in Axum
rest-api
routing
serialization
Intermediate
9 steps
python
from flask import Blueprint, request, url_for, jsonify, abort from flask.views import MethodView from .models import Article, db
Building a paginated JSON API with Flask MethodView
rest-api
pagination
class-based-views
Intermediate
10 steps
java
public class GitHubUserClient { private final HttpClient http = HttpClient.newBuilder() .connectTimeout(Duration.ofSeconds(10))
Calling the GitHub API with Java's HttpClient
http-client
json-deserialization
error-handling
Intermediate
9 steps
python
from flask import Blueprint, jsonify, request, abort from flask_caching import Cache cache = Cache(config={"CACHE_TYPE": "RedisCache", "CACHE_REDIS_URL": "redis://localhost:6379/0"})
Custom cache keys for Flask endpoints
caching
redis
cache-invalidation
Intermediate
7 steps
javascript
const express = require('express'); const router = express.Router(); const db = require('../db');
Building a paginated articles endpoint in Express
pagination
input-validation
async-await
Intermediate
8 steps
java
public OrderConfirmation submitOrder(Order order) throws IOException, InterruptedException { String payload = objectMapper.writeValueAsString(order); HttpRequest request = HttpRequest.newBuilder()
Posting an order with Java's HttpClient
http-client
json-serialization
error-handling
Intermediate
6 steps
go
func GetArticle(c *gin.Context) { id := c.Param("id") article, err := articleRepo.FindByID(c.Request.Context(), id)
Conditional GET with ETags in Gin
http-caching
etag
conditional-requests
Intermediate
7 steps
java
@RestController @RequestMapping("/api/documents") @RequiredArgsConstructor public class DocumentController {
Method-level authorization with @PreAuthorize in Spring
authorization
spel
rest-api
Intermediate
7 steps
java
@RestController @RequestMapping("/api/products") @RequiredArgsConstructor public class ProductSearchController {
Binding paged search filters in Spring
data-binding
validation
pagination
Intermediate
7 steps
go
package handlers import ( "net/http"
Content negotiation in Gin handlers
content-negotiation
struct-tags
rest-api
Intermediate
4 steps
java
@RestControllerAdvice public class GlobalExceptionHandler { private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
Centralized error handling in Spring
exception-handling
problemdetail
rest-api
Intermediate
7 steps