"I had a fantastic dream!"
Translation:J'ai fait un rêve génial !
Yes. faire un réve - to have a dream
It is how the French say it - they use the verb faire.
I can't say whether or not they would understand it but I think they would definitely find it weird sounding.
For example, would you understand a French person saying "I have 26 years"? This is the literal translation of
"J'ai 26 ans" ("I am 26 years old"). It would sound weird and totally meaningless to someone who has no knowledge of the French language.
"avoir fait " is passé composé = "made" used in the sense of the English simple past tense "had" when speaking of dreams - fait is the past participle.
"avoir à faire " is present tense. The infinitive "faire " is required in
"J'ai à faire..." as avoir has been conjugated. It is "avoir à faire" as avoir requires the preposition à* to follow it before being followed by an infinitive.
There is a good reference here.
I should have also pointed out that, if you want to wish someone "sweet dreams" you would say "Fais de beaux rêves". "faire des rêves " = dream, to have dreams.
The verb "avoir" is not usually used at all in the present tense. It was just included as MonicaHerne asked "Why isnt [it] J'ai FAIRE un rêve?".
"Je fais un rêve " = "I'm having a dream".
There is some good info on faire here.