I have not so SEO friendly url structure in my internal navigation of website(some technical challenges) but marked each of the page with SEO friendly canonical(through CMS) and these canonicals are there in sitemap as well
To give an example, from
I go to -
www.example/123
which is marked as canonical of
www.example/friendliness/123
and "www.example/friendliness/123" is there in sitemap as well.
So my question is, Is this sufficient or do I need change internal linking (www.example/123 in above example) as well?
Anyways I have seen people marking url's as canonical to ignore query parameters so it should behave in the same way