Simple Go REST API that returns dummy messages
There's not so much code that it would be hard to read, looks clean enough to me.

Regarding scalable ... in what way?  The switch in Handler will be the limiting factor since adding another route will always have to have a corresponding edit in that function.  Some frameworks will have ways around that (for better or worse), but as long as there are just a handful of routes I doubt it's a real issue (though if this is more of an exercise, go for it: if you have a hundred handlers, how could you register them instead of having a single point like here?).

In ServeHTTP there'll definitely be an issue with the need for additional, more nuanced error codes.  I'm not suggesting a particular solution, but I can see that happening quite quickly ... plus, 404 for an internal error looks wrong too, that should be 500 most likely, only if the route couldn't be found 404 would be appropriate.



Okay two more, returning a string instead of directly writing output will be a scalability problem, it'd be much better to avoid additional memory allocations to construct that string and simply write to the output buffer / writer directly.

And, the result of a errors.New can be stored in a global variable as long as the message doesn't change - one more memory allocation gone.