<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Rest on Compile My Mind</title>
		<link>https://www.compilemymind.com/tags/rest/</link>
		<description>Recent content in Rest on Compile My Mind</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Sun, 26 Jul 2026 18:55:00 +0200</lastBuildDate>
		
			<atom:link href="https://www.compilemymind.com/tags/rest/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>REST and GraphQL Pagination: Offset, Cursor, and Link Strategies</title>
				<link>https://www.compilemymind.com/posts/rest-graphql-pagination-offset-cursor-link-strategies/</link>
				<pubDate>Tue, 21 Jul 2026 06:47:50 +0300</pubDate>
				<guid>https://www.compilemymind.com/posts/rest-graphql-pagination-offset-cursor-link-strategies/</guid>
				<description>&lt;p&gt;Pagination is a consistency contract disguised as a performance feature. Splitting 100,000 records into pages is easy; defining what “the next page” means while records are inserted, deleted, or reordered is the real design work.&lt;/p&gt;&#xA;&lt;p&gt;Choose a strategy from the user experience and data model:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Offset&lt;/strong&gt; for simple, bounded, mostly stable lists and direct page numbers.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Cursor/keyset&lt;/strong&gt; for large or rapidly changing ordered feeds.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Links&lt;/strong&gt; to make navigation discoverable and decouple clients from URL construction.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;GraphQL connections&lt;/strong&gt; when the schema should expose edges, cursors, and page metadata consistently.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://www.compilemymind.com/posts/rest-graphql-pagination-offset-cursor-link-strategies/concept-flow.svg&#34; alt=&#34;Pagination comparison showing offset drift, a stable composite cursor, and link-based navigation&#34; width=&#34;1200&#34; height=&#34;720&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;    &#xA;  &lt;/figure&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
