You can absolutely have versioned views that you expose. An URL like /api/v1/customers could be rewritten to /views/v1_customers.
That way you can change your schema internally.
I’m mostly with you here, but to be fair to the OP, he does suggest exposing database views which does give a certain amount of decoupling from the schema of your tables.
Speak for yourself. Personally, I've only exposed views and procedures.