In fact, attempting to prevent users to change how your application works is a borderline impossible task. First of all, a user can modify the binary to point to a different host than the one you intended. While this is more complicated than editing a configuration file, this can still be done by dedicated users.
Even if you were to assume that it was somehow impossible for the user to edit an executable file, they can still change their hosts file or DNS resolution to point to their own server. TLS will not protect you here, since the user can simply add their own root CA to their CA store.
As mentioned by yourself and others, sniffing the API calls can allow them to reverse engineer your API. This actually should not be a problem. Kerckhoff famously stated that the security of a system should only depends on it's secret material, not on assuming that the attacker does not know how your system works. In other words, even if you assume an attacker has the source code, your API should still be secure.
In summary, it's not considered best practice. The security gain would be minimal and could still be defeated by semi-dedicated attackers. Your development resources are best spent elsewhere.