如果您的 Spring Boot 应用遇到 'HttpMessageNotReadableException' 错误,特别是当处理 JSON List 格式的输入参数时,很可能是因为 Spring Boot 无法直接将 JSON 数组映射到 List 对象。

为了解决这个问题,您需要按照以下步骤操作:

  1. 创建 Java 类表示 JSON 输入参数:

    首先,创建一个 Java 类来表示您的 JSON 数据结构。例如,如果您的列表包含字符串,您可以创建以下类:

    public class StringList {
        private List<String> items;
    
        public List<String> getItems() {
            return items;
        }
    
        public void setItems(List<String> items) {
            this.items = items;
        }
    }
    
  2. 使用 @RequestBody 注释接收 JSON:

    在您的控制器方法中,使用 @RequestBody 注释来接收 JSON 格式的输入参数。例如:

    @PostMapping('/items')
    public void processItems(@RequestBody StringList stringList) {
        List<String> items = stringList.getItems();
        // 处理您的列表项...
    }
    
  3. 在客户端构建并发送 JSON:

    在您的客户端代码中,将列表项放入一个 JSON 对象中,并将其作为请求正文发送。例如,使用 JavaScript:

    var items = ['item1', 'item2', 'item3'];
    var data = { 'items': items };
    var xhr = new XMLHttpRequest();
    xhr.open('POST', '/items');
    xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
    xhr.send(JSON.stringify(data));
    

这是一个基本示例,您需要根据实际应用程序和技术栈进行相应的调整。通过创建 Java 类来映射 JSON 结构,并使用 @RequestBody 注释,您可以轻松解决 'HttpMessageNotReadableException' 错误,并正确接收和处理 JSON List 参数。

Spring Boot 解决 'HttpMessageNotReadableException' 错误:正确传递 JSON List 参数

原文地址: https://www.cveoy.top/t/topic/fY9g 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录