For a fantasy book to be really good though, and this applies to any book, there has to be an engaging plot and interesting characters. No matter how much magic or how many magical creatures are put into the novel, it won't be any good without an interesting plot and characters which really stand out. Themes are also important as well.
The Harry Potter books mix school with magic, and this immediately appealed to children all over the world. Not just that though, but the books also contain issues that we face in real life such as death, problems with friends, troubles at school, rivalry and much more, and for this reason, the books have ended up appealing to a much wider audience.
The Lord of the Rings is a typical fantasy book, and whilst it may not have contained themes as realistic as the Harry Potter books, it appealed to people because J.R.R. Tolkien created a carefully thought out plot and placed his characters in a world which was so detailed that you might end up wondering whether or not it actually exists!
So to create a good fantasy book, you need to have the usual elements along with something interesting and realistic to a certain degree.