6 ms·
It gave me an intuitive understanding of state machines and idempotency is one solution to transitions. If you start with State A and a call changes it to Stat
by wayfinder 3y ago
It gave me an intuitive understanding of state machines and idempotency is one solution to transitions.
If you start with State A and a call changes it to State B, what does running the call again do? A->B? But you’re already at B. Shit’s going to break. Redesign your system.
- rmbyrro 3y agoIn this example, it seems the API should return some 4xx error. If there's a process with two steps, moving from Step A to B requires the process to be at Step A and it's already at step B, it should return an error. At first glance, this doesn't seem the kind of problem that idempotency is supposed to prevent...
- wayfinder 3y agoInstead of idempotency you can return a 4xx error too. You use idempotency because it’s logistically less complicated for the client.