我需要以数字格式(例如354736184430273859332531)从Spring控制器返回BigInteger,而不是例如2.2311485309166910602366e + 23这样的默认行为。
我尝试同时包括:spring.jackson.serialization.write-bigdecimal-as-plain=true
和
spring.jackson.generator.write-bigdecimal-as-plain=true
在application.properties中
我要返回的对象如下:
data class ProductOutputDTO(
val token: BigInteger,
val product: BigInteger
)
和控制器代码:
@RestController
class Product {
@PostMapping("/product")
fun product(@RequestBody input: ProductInputDTO): ProductOutputDTO
= ProductOutputDTO(input.token, input.a * input.b)
}
答案 0 :(得分:0)
将您的ProductOutputDTO
更改为以下示例:
data class ProductOutputDTO(
val token: String,
val product: String
)
然后更改创建ProductOutputDTO
的代码,以将BigIntegers转换为Strings。
您遇到的问题是JSON Number的精度不如BigInteger精确。