【问题标题】:Handling Json parse exception [closed]处理 Json 解析异常
【发布时间】:2021-04-10 05:53:14
【问题描述】:

我正在尝试将错误的 Json 请求发送到映射到控制器中模型的请求主体。
我想知道如果我们依赖弹簧的自动转换,有什么方法可以处理错误。

这是我的 Json 请求,我的模型类结构是:

{
   "name": "abcd",                             
   "occupation": "student"
   "extrafield":"hjhsda"
}
public class User{ string name;string occupation:}

我处理请求的方法是

@PostMapping(value="/test")
public void process2(@RequestBody User user) {
   System.out.println("Hello");
}

我知道处理它的一种方法是接受 json 作为字符串并在使用 try 和 catch 的方法中使用解析器。

【问题讨论】:

  • 错误的json请求意味着json格式不正确或者你的意思是缺少一些必填字段?

标签: java json spring-boot


【解决方案1】:

您可以在 ControllerAdvice 类中处理 JsonProcessingException

@ControllerAdvice
public class MyExceptionHandler {

    @ExceptionHandler(JsonProcessingException.class)
    public ResponseEntity<Object> handleInvalidJson(JsonProcessingException ex) {
        // handle exception
        return new ResponseEntity<>("Invalid JSON", HttpStatus.NOT_FOUND);
    }

更多here.

【讨论】:

    猜你喜欢
    • 2011-08-15
    • 2023-03-18
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    相关资源
    最近更新 更多