我有一个Java SpringBoot后端服务器,我想用curl测试控制器类。但是,每当我发送一个如下格式的请求(在powershell终端中):
curl --request POST --header "Content-Type: application/json" --data '{\"key\": 5}' http://localhost:8080/request
所有的数值都被修改为零。如果在DTO类中我把它们修改为Integer
而不是int
,那么它们被接收为null
。对于字符串,一切都很好。
下面是我的控制器方法:
@RestController
@RequestMapping("/request")
class MyController {
@PostMapping
public ResponseEntity<MuseumTO> createMuseum(@RequestBody RequestDTO request) {
System.out.println(request.key);
// ...
}
}
DTO类:
class RequestDTO {
public int key
}
GET请求工作正常,我已经尝试了两种不同的后端,所以我认为我的问题是来自curl请求的格式。但是,我在网上看了一下,从我所看到的来看,这应该是工作正常的。
1条答案
按热度按时间6l7fqoea1#
在你的CURL请求中有一个小问题。不需要在“key”中使用转义符。你正在使用一个反斜杠和双引号(\”),这是不需要的。
请尝试此CURL请求。