top | item 38609040

(no title)

wayfinder | 2 years 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.

discuss

order

rmbyrro|2 years ago

In 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|2 years ago

Instead of idempotency you can return a 4xx error too. You use idempotency because it’s logistically less complicated for the client.