Skip to content

Instantly share code, notes, and snippets.

@iegik
Last active September 10, 2025 06:09
Show Gist options
  • Save iegik/9322d561bf172346ae7be7fa04b6c53f to your computer and use it in GitHub Desktop.
Save iegik/9322d561bf172346ae7be7fa04b6c53f to your computer and use it in GitHub Desktop.

URLs

Persistance/Caching

HTTP GET params are persistant by themselves, that means if you request same request with same params - you will receive same response every time. So, if you want to renew dataset, you probably need to add also something like ?order.date= param.

Filters

Human-readability

Params/slugs should be kebab-case, because domains by factor are case-insensitive, so params and values should also be case-insensitive.

  • Use lowercase for enums
  • Use ISO dates
  • Use hyphens, not spaces

❌ ?f1=09.09.2020&f2=done&Ncategory=Network%20Engineering

✅ ?ydate=2020-09-09&status=done&category=network-engineering

Group by dataset if multiple sets exist

?users.status=active&orders.year=2023

or

?users[status]=active&orders[year]=2023

Use arrays for multi-select filters

?status=active,done

?status[]=active&status[]=done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment