REST does mean something specific. It is an architectural style defined in Roy Fielding’s Dissertation. It can be implemented in most languages. There is also no limitation to JSON / no GUI. Generally speaking, the architecture of the web is REST.
There is no double get. Both the GETs get different URLs and therefore resources. /users
is a list of all users. /users/user_id
is a reference to a specific user. For example, https://forum.golangbridge.org/users/jdc-cunningham refers to you. When you GET
the url by going to it, a representation (in html) of your user’s state is transferred to you.