Code Explainers

Code explainers tagged #serialization

ruby
class ArticleSerializer < ActiveModel::Serializer
  attributes :id, :title, :slug, :excerpt, :reading_time, :published_at, :url
 
  belongs_to :author, serializer: UserSerializer

Shaping API output with ActiveModel::Serializer in Rails

serialization json api computed attributes
Intermediate 9 steps
javascript
export function buildPaginationUrl(baseUrl, { page, perPage, filters = {}, sort } = {}) {
  const url = new URL(baseUrl);
  const params = url.searchParams;
 

Building and parsing pagination URLs

url-parsing query-string pagination
Intermediate 8 steps
rust
use axum::{
    extract::Path,
    http::{header::ACCEPT, HeaderMap, StatusCode},
    response::{Html, IntoResponse, Json, Response},

Content negotiation in an Axum handler

content-negotiation http-headers serialization
Intermediate 8 steps
php
<?php
 
namespace App\Casts;
 

How a custom Eloquent cast wraps an Address in Laravel

value-objects serialization data-mapping
Intermediate 7 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
public class OrderSerializer {
 
    private final ObjectMapper mapper;
 

Configuring a reusable Jackson ObjectMapper

serialization json builder-pattern
Intermediate 8 steps
javascript
export function cloneState(state) {
  if (typeof structuredClone !== "function") {
    throw new Error("structuredClone is not available in this runtime");
  }

Deep cloning with structuredClone

deep-copy error-handling immutability
Intermediate 7 steps
ruby
class ConfigFlattener
  def initialize(config)
    @config = config
  end

Flattening nested config into dotted keys

recursion hashes tree-traversal
Intermediate 8 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
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
go
package model
 
import (
	"encoding/json"

Custom JSON marshaling in Go

json serialization interfaces
Intermediate 5 steps
ruby
require 'json'
require 'set'
 
class SensitiveScrubber

Recursively scrubbing secrets from JSON

recursion data-masking pattern-matching
Intermediate 7 steps
go
package logfmt
 
import (
	"bytes"

Pooling buffers for logfmt encoding in Go

object-pooling memory-reuse serialization
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