【发布时间】:2021-01-01 15:11:13
【问题描述】:
我有一个 Kotlin @RestController,我希望它在 null 被传递给 @RequestParam 参数的情况下返回 400错误请求。
示例:
@RestController
class Api() {
@PostMapping("endpoint")
fun endpoint(@DateTimeFormat(iso = DATE) @RequestParam date: LocalDate) {
//do something
}
}
如果我向 POST /endpoint?date 发出请求,我会收到 500 Internal Server Error,其中包含以下(缩短的)正文:
{
"timestamp": "2020-09-14T20:39:38.102+0000",
"status": 500,
"error": "Internal Server Error",
"message": "Parameter specified as non-null is null: method Api.endpoint, parameter date",
"trace": "java.lang.IllegalArgumentException: Parameter specified as non-null is null: method Api.endpoint, parameter date\r\n\tat Api.endpoint(Api.kt)\r\n\t
...
...
atjava.base/java.lang.Thread.run(Thread.java:834)\r\n",
"path": "/campaigns/contributions/unfunded/retries"
}
有没有什么办法可以使用一些额外的库、配置或一些没有其他副作用的自定义代码来解决这个问题
【问题讨论】:
标签: spring spring-boot kotlin