В ситуации, если мне необходимо получить все комментарии 1го поста, какой маршрут для этого будет более правильный :
"/posts/1/comments" или "/comments?postId=1"?
И если корректен первый вариант, то, что делать, если, допустим, дальше, нужно отобразить вложения в комментариях?
Тут вероятно приятнее будет использовать не "/posts/1/comments/attachments", а "comments/id/attachments".
Какой из вариантов построения выбирать в каких ситуациях?
Все варианты верные. По большей части разница в том что некоторые адреса проще роутить на разные микросервисы. Ну и личное предпочтение играет большую роль.
UPD. А использовать get параметры в таком виде считается моветоном, но в основном по тому что так труднее использовать однотипные адреса и "вложенные" ресурсы