返回带有帮助JSON的字符串(Java和Spring)
我编写的代码应该以相反的顺序返回字符串,但我只返回了数组,这是错误的
@PostMapping("/reverse")
public List<String> reverseList(@RequestBody String string) {
List<String> stringList = Arrays.asList(string.split("[+,]"));
return IntStream.range(0, stringList.size())
.mapToObj(i -> stringList.get(stringList.size() - 1 - i))
.collect(Collectors.toList());
}
СURL命令
curl -H "Content-Type: application/json" -d "a1+a2+a3+a4" localhost:8080/hello/reverse
输出
["a4","a3","a2","a1"]
但这是错误的
需要这样归还吗
curl -H "Content-Type: application/json" -d "a1+a2+a3+a4" localhost:8080/hello/reverse
不带数组和逗号的输出
a4+a3+a2+a1
# 1 楼答案
默认情况下,Spring将使用
Jackson
将从端点返回的对象(至少在RestController
的情况下)序列化为JSON。要克服这个问题,只需从端点返回一个String
,并使用Collectors.joining("+")
而不是Collectors.toList
:# 2 楼答案
这可能会帮助你:
如果要以纯文本形式发送,请使用以下内容重新粘贴postmapping:
# 3 楼答案
这将起作用: