gpt4 book ai didi

java - 如何在 Spring GET servlet 中保留空值?

转载 作者:行者123 更新时间:2023-12-01 11:11:23 26 4
gpt4 key购买 nike

@RestController
public class MyController {
@GetMapping("/get)
public void get(Map<String, String> params) {
println(params.get("optional")); //"null"
}

@PostMapping("/post)
public void post(Map<String, String> params) {
println(params.get("optional")); //null
}
}

localhost:8080/get?key=value&optional=null

结果:键optional的值将是"null",写成String,而不是null 输入。

POST 请求的工作方式如下:

{
"key": "value",
"optional": null
}

问题:如何使 GET 请求的行为与 POST 相同?意思是,我如何告诉 spring 将 GET 中的空字符串解释为真正的空字符串?

最佳答案

您不能像在 JSON 中那样通过 HTTP 查询参数传递 null。因为 HTTP 查询中的 null 没有特殊含义,并且被视为与任何其他字符串一样。相反,根本不传递 optional 参数

localhost:8080/get?key=value

关于java - 如何在 Spring GET servlet 中保留空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59945691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com