@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
的值将被写成 String
类型的 "null"
,而不是 null
类型。
而一个 POST
请求将按照以下方式工作:
{
"key": "value",
"optional": null
}
问题:如何使
GET
请求的行为与 POST
相同?也就是说,如何告诉 Spring 将 GET 请求中的 null 字符串解释为真正的 null?