假设我有一个GET控制器/ api / product / {id},其中id是一个整数。处理具有非整数ID的请求的最佳方法是什么?目前,Spring只是抛出java.lang.NumberFormatException并返回400。
最佳答案
您可以进行路径变量验证,假设id应为正int值。
@GetMapping("/api/product/{id}")
public void getProduct(@PathVariable("id") @Min(value = 0) Integer id) {
// ...
}
阅读更多以上请求验证here。
如果您知道产品ID具有一定范围的int值,甚至可以尝试
@Range
。