1

我正在向http://localhost:8080/date正文发送一个 Http POST 请求

{
    "localDateTime": "2021-06-08T11:39:01"
}

(我尝试了多种不同的时间格式,总是同样的错误)到我用 Spring Boot 构建的 Java 应用程序。

@RestController
public class Controller {

@PostMapping(path ="/date",consumes="application/json",produces="application/json")
    public String dateTime(@RequestParam(name = "localDateTime") 
    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime localDateTime) {
        return localDateTime.toString();
    }
}

我知道 Spring Boot 有点棘手,但我读到 @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)注释应该允许它正确地将字符串转换为日期对象。

相反,我得到了400 Bad Request错误。怎么了?

4

1 回答 1

2

请删除consumes="application/json", produces="application/json",您已经在使用 RestController 注释。

如果要将 JSON 作为正文发送,请将 @RequestParam 更改为 @RequestBody。将 @RequestParam 用于/date?localDateTime=2021-06-08T11:39:01.

@RequestBody 和 @RequestParam 有什么区别?

于 2021-06-08T10:38:06.393 回答