Rhaegal's underside was scratched pretty badly by Viserion in episode 3. Still, he shouldn't have been killed so easily.
I'm surprised no one brought up the fact Cersei could have wiped them all out, including Drogon, while they were at the gates of Kings Landing.
This is pretty bad writing.