Code Explainers
Code explainers tagged #rest-api
python
from flask import Blueprint, request, jsonify, abort from sqlalchemy import update from .models import db, Document
Optimistic locking in a Flask PATCH endpoint
optimistic-locking
concurrency
rest-api
Intermediate
7 steps
python
import base64 import json from flask import Blueprint, request, jsonify, url_for, abort from sqlalchemy import and_, or_
Cursor pagination in a Flask API
cursor-pagination
keyset-pagination
rest-api
Advanced
9 steps
python
from fastapi import APIRouter, Depends, HTTPException, status from pydantic import BaseModel from .dependencies import get_current_user, get_project_service
Building a CRUD router with FastAPI
dependency-injection
rest-api
authentication
Intermediate
6 steps
java
@RestController @RequestMapping("/api/products") @Validated public class ProductSearchController {
Validating query params in a Spring controller
validation
pagination
rest-api
Intermediate
8 steps
go
package handlers import ( "encoding/base64"
Cursor pagination in a Gin handler
pagination
cursor
rest-api
Intermediate
8 steps
go
type CreateUserInput struct { Name string `json:"name" binding:"required,min=2,max=64"` Email string `json:"email" binding:"required,email"` Password string `json:"password" binding:"required,min=8"`
Turning Gin validation errors into JSON
validation
request-binding
error-handling
Intermediate
9 steps
java
@RestController @RequestMapping("/api/products") @RequiredArgsConstructor public class ProductBatchController {
Batch JSON Merge Patch in Spring
json-merge-patch
rest-api
partial-update
Intermediate
8 steps
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