Code Explainers
Code explainers tagged #rest-api
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
java
@RestController @RequestMapping("/api/files") public class FileUploadController {
Handling secure file uploads in Spring
file-upload
input-validation
path-traversal
Intermediate
10 steps
ruby
module Api module V2 class ArticlesController < Api::BaseController before_action :set_article, only: %i[show update destroy]
Building a versioned JSON API controller in Rails
rest-api
serialization
pagination
Intermediate
10 steps
java
@RestController @RequestMapping("/api/users") public class UserController {
How a Spring REST controller maps users
rest-api
dependency-injection
dto-mapping
Intermediate
7 steps
python
from fastapi import Depends, FastAPI, HTTPException from sqlalchemy import create_engine from sqlalchemy.orm import Session, sessionmaker
Wiring SQLAlchemy sessions into FastAPI
dependency-injection
orm
sessions
Intermediate
7 steps
python
from flask import Blueprint, jsonify, request, abort from .models import Article, db from .schemas import article_schema, articles_schema
Building a REST articles API with Flask Blueprints
rest-api
blueprints
serialization
Intermediate
7 steps
java
@RestController @RequestMapping("/api/users") public class UserController {
Bean Validation in a Spring REST controller
validation
rest-api
exception-handling
Intermediate
9 steps
javascript
const asyncHandler = (fn) => (req, res, next) => { Promise.resolve(fn(req, res, next)).catch(next); };
Async error handling in Express routes
async-await
error-handling
middleware
Intermediate
7 steps
ruby
class Api::V1::ArticlesController < Api::V1::BaseController def index articles = Article .published
Building a JSON:API endpoint in Rails
serialization
eager-loading
pagination
Intermediate
7 steps
php
<?php namespace App\Http\Controllers\Auth;
How a Laravel registration endpoint works
validation
database-transactions
events
Intermediate
8 steps
rust
use axum::{ extract::{Path, State}, routing::{get, post}, Json, Router,
Building a nested REST API router in Axum
routing
extractors
shared-state
Intermediate
8 steps
java
@RestController @RequestMapping("/api/products") public class ProductController {
How a paginated REST controller works in Spring
pagination
dto-mapping
dependency-injection
Intermediate
8 steps