Code Explainers

Code explainers tagged #serialization

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 final class DeepCopier {
 
    private static final ObjectMapper MAPPER = new ObjectMapper()
            .registerModule(new JavaTimeModule())

Deep-copying objects via Jackson serialization

serialization deep-copy generics
Intermediate 7 steps
go
package render
 
import (
	"net/http"

How Gin renders MsgPack responses

serialization content-type interface-implementation
Intermediate 5 steps
go
package tsvio
 
import (
	"bufio"

Reading and writing TSV records in Go

parsing io-streams error-handling
Intermediate 10 steps
python
from flask import Blueprint, jsonify, request, abort
 
v1 = Blueprint("users_v1", __name__)
v2 = Blueprint("users_v2", __name__)

Versioning a Flask API with Blueprints

api versioning blueprints rest
Intermediate 7 steps
go
package deepcopy
 
import (
	"bytes"

Deep copying any value with gob in Go

deep-copy serialization generics
Intermediate 6 steps
java
@Component
required to import
public class OutboxEventPublisher {
 

The transactional outbox pattern in Spring

transactional-outbox event-driven reliability
Advanced 7 steps
php
<?php
 
namespace App\Http\Resources;
 

Shaping API JSON with a Laravel Resource

api serialization data transformation
Intermediate 7 steps
java
package com.example.inventory;
 
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;

Reading and writing CSV with Commons CSV

csv-parsing file-io try-with-resources
Intermediate 7 steps
rust
use serde::{Deserialize, Serialize};
 
#[derive(Debug, Serialize, Deserialize)]
#[serde(tag = "type", rename_all = "snake_case")]

Tagged enums with serde in Rust

enums serialization json
Intermediate 6 steps
go
package handlers
 
import (
	"net/http"

Content negotiation in Gin handlers

content-negotiation struct-tags rest-api
Intermediate 4 steps
typescript
type StorageSchema = Record<string, unknown>;
 
interface StorageOptions {
  namespace?: string;

A type-safe wrapper around localStorage

generics type-safety serialization
Intermediate 9 steps
ruby
class Credentials
  SENSITIVE = %i[password api_key secret_token access_key].freeze
  REDACTED = "[REDACTED]".freeze
 

Redacting secrets in Ruby object output

serialization introspection security
Intermediate 7 steps
python
from datetime import datetime, date
from decimal import Decimal
from flask import Flask, jsonify
from flask.json.provider import DefaultJSONProvider

Serializing SQLAlchemy models in Flask JSON

serialization orm json
Intermediate 6 steps
python
from datetime import datetime
from fastapi import APIRouter, Depends, HTTPException, status
from pydantic import BaseModel, ConfigDict, EmailStr
from sqlalchemy.orm import Session

Building a users router in FastAPI

routing serialization dependency-injection
Intermediate 7 steps
python
import json
from dataclasses import dataclass, field, asdict
from datetime import datetime
from typing import Any

JSON round-tripping with Python dataclasses

dataclasses serialization json
Intermediate 6 steps
rust
use std::fs::File;
use std::io::{self, BufWriter};
use std::path::Path;
 

Serializing config to JSON in Rust

serialization serde file-io
Intermediate 7 steps