Spring WebFlux的新手,尝试在一个端点中返回字符串数组,并且由于某种原因它返回一个串联字符串而不是JSON数组。
用一些类包装它可以解决问题,但想知道如何实际返回字符串数组?返回例如Array<String>
按预期工作
class Wrapper(val data: String) {
@RestController
class Test() {
@RequestMapping("/wrapped") // Returns valid JSON array: [{"value":"Hello"},{"value":"World"}]
fun b() = Flux.just(Wrapper("Hello"),Wrapper("World"))
@RequestMapping("/raw") // Returns not valid JSON with just one concatenated string: HelloWorld
fun a() = Flux.just("Hello", "World")
}
答案 0 :(得分:6)
在Twitter https://twitter.com/sdeleuze/status/956136517348610048获得了SébastienDeleuze(Spring框架提交者)的答案
当元素类型为String时,处理程序方法应该直接提供格式良好的JSON字符串块,不涉及与Jackson的序列化。