Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Simple tool to generate mock APIs for testing (endpts.io)
25 points by fadymak on Feb 17, 2024 | hide | past | favorite | 13 comments


In "List of products", I was curious to see if you would also generate URLs to random photos ...


Thanks for the suggestion! I’ll look into getting that added


Another site that hijacks the back button and prevents returning (try to click Randomize).


The URL query parameters change when you update the mock API to make sharing easier. The back and forward buttons allow you to undo/redo.

I’ll explore making the changes shareable without appending the state to the URL in that way.


I suppose OP is referring to a bug where you are stuck at the home page (i.e., the initial state) after you clicked around a few times. So just going to your page and then navigating back right away works, but once you start changing settings, it wouldn’t let you go back past the initial state.

At least it’s that way for me in Chrome.


Gotcha. The “clicking around” causes state changes like adding a field which is stored in the URL query parameters.

Initially this was a design decision to make it easy to share the URL of the Mock API you built with other developers. However, I can see this is breaking user expectations - I’ll work on getting that changed so it’s more in line with what users expect.

I appreciate the feedback because initially that felt “natural” to me but I can see how it might not be intuitive to others.


jotaen explained it well. Sorry if I sounded mean, at some point you start to get tired of the websites that break the basic behavior of the browser.

Do not use history.pushState to update the URL if whatever is happening on the page doesn't count as navigation. Try to look into history.replaceState and see if it helps.


I’d tend to agree that using the browser history doesn’t feel like the right solution for this kind of undo/redo functionality. In my mind, undo/redo actions are too fine-granular, and pollute the history, which can be very inconvenient.

Another potential approach could be to offer a custom-built widget for the undo/redo stack in the UI – in the simplest case, for example, a dropdown. It could also be persisted somewhere, e.g. in local storage, so that it isn’t lost when you navigate away.


Thanks for all the feedback! This community is incredible <3

Just pushed a fix that should resolve this while still maintaining state in the URL (using replaceState as suggested by OP).

For now it foregoes the undo/redo. I'll explore implementing it as a separate widget as you suggest in the future.


Not at all, I appreciate that you mentioned this since it seemed normal to me.

Thanks for the tip! I just pushed a fix that uses replaceState instead of push :)


Maybe only generate a new url when they ctrl + s or hit a save button? This would be more like what you want? I think CodePen does this idr. Or keep a revision list in localstorage with all urls that would have been generated.


I think local storage and keyboard shortcuts might be a good alternative - thanks for the suggestion :)


JavaScript should never had been able to access this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: