gpt4 book ai didi

java - 简单的 Spring Boot POST 不起作用

转载 作者:行者123 更新时间:2023-12-01 07:50:51 25 4
gpt4 key购买 nike

我写了一个非常简单的 Spring Boot GET 和 POST 示例。 GET 工作正常。由于某种原因 POST 没有获取 json 对象。它只有空值或零。这是其余的 Controller 代码,

@RestController
public class HttpWebServiceController {

@RequestMapping(value = "/status", method = RequestMethod.GET)
@ResponseBody
public String status() throws Exception {

// Build Service Count String
++ServiceCount;
ServerResponse = "\nSecure HTTPS WebService -- ServiceCount = ";
ServerResponse += ServiceCount +"\n\n";

return ServerResponse;

}

@RequestMapping(value = "/batteryupdate", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<BatteryData> update(@RequestBody BatteryData
batterydata) {

System.out.printf("Manufacturer: %s\n",
batterydata.getManufacturerId());
return new ResponseEntity<BatteryData>(batterydata, HttpStatus.OK);
}

String ServerResponse;
int ServiceCount = 0;

}

GET/status 工作正常。 POST/updatebattery 返回 json 字符串,但 json 字符串的所有元素均为 null, float 为零。这是我的 postman 代码。

POST /batteryupdate HTTP/1.1
Host: localhost:8080
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 31c74432-9d32-e7a9-0446-242a24677d2b

{
"ManufacturerId":"Hyster",
"Voltage": 48.76,
"Current": 18.27
}

这是发送的 postman 数据,

{
"ManufacturerId":"Hyster",
"Voltage": 48.76,
"Current": 18.27
}

这是Postman返回的结果。 printf 也返回 null。

{
"current": 0,
"manufacturerId": null,
"voltage": 0
}

知道为什么这个简单的 spring boot POST 程序不起作用吗?

最佳答案

尝试发送名称为小写的 json。如果不能解决问题,请检查发送 json 不带 manufacturerId (如果是枚举)

{
"current": 0,
"manufacturerId": "Hyster",
"voltage": 0
}

关于java - 简单的 Spring Boot POST 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38003011/

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