for cache purposes I would have a post/comments api call and a separate one for likes. - you could combine the two but cache wont be that effective because then for one post & its comments.. each USER will have its own cache but if you have two api calls (one to get posts/comments) and one for like.. the first one will be cached for all users..
Returning all comments for a posts is going to cause slowness as u r having to load all comments so that could again be split.. & paginated.