Hi,
Never experienced this myself and I'm not sure how or even if it can be fixed. I suppose it's Groovy and not Rest Assured itself that causes it (please correct me if I'm wrong because then it should be fixable). If I remember it correctly then in a later minor version of Groovy than the one Rest Assured is using they've switched from representing decimal numbers with floats and doubles to BigDecimal. In Groovy this doesn't matter since it's a dynamically typed language but it has quite a big impact on Rest Assured. For exemple if data1 would be a BigDecimal we would have to do:
expect().body("response.data1", equalTo(new BigDecimal(42.12)). ..
which in my view is not as obvious as just having:
expect().body("response.data1", equalTo(42.12f)). ..
It would also break back-ward compatibility. I'm not quite sure how we should tackle this. It's an important issue because it may prevent us from upgrading a new Groovy version in the future. I would suggest you to google for possible work-arounds for the problem in Groovy 1.8.4 and please let us know if you find anything.
Regards,
/Johan