如何使用MockMvcResultMatchers.jsonPath从JSON序列化BigDecimal?[已关闭]

p4rjhz4m  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(102)

已关闭。此问题需要details or clarity。它目前不接受回答。
**希望改进此问题?**通过editing this post添加详细信息并阐明问题。

5天前关闭。
Improve this question
当我测试我的EP并获得JSON响应时,没有精度的BigDecimal值被转换为Integer,我不能期望BigDecimal使用MockMvcResultMatchers.jsonPath。当你有精度时,它被转换为Double,当没有精度时,它被转换为Integer。
我怎么能只期望BigDecimal值,在ResultActions.andExpect的测试中检查它?
下面是一个Java代码的例子:

performGet()
    .andDo(print())
    .andExpect(status().isOk())
    .andExpect(jsonPath("$.data. value", equalTo(expectedValue)));

字符串

eagi6jfj

eagi6jfj1#

这取决于您使用的JSON解析器。最流行的两个是JSONJackson和GSon。对于Jackson,您必须编写一个自定义的反序列化器。这里有一篇关于如何做到这一点的好文章:Getting Started with Custom Deserialization in Jackson。对于GSON,只需搜索类似的方法(我对GSON不太熟悉)

相关问题