java - 在 Heroku : No content to map due to end-of-input 上运行时出现错误 fastxml...MismatchedInputException

标签 java spring-boot heroku jackson

我正在使用 Jackson [1] 以简单的方式反序列化 json 文件。

从概念上讲,它看起来像这样:

ObjectMapper objectMapper = new ObjectMapper();
ObjectReader objectReader = objectMapper.readerFor(DirectionsResponse.class);
DirectionsResponse result = objectReader.readValue(jsonString);

这在本地启动的 Spring-Boot 应用程序上运行良好,但在 Heroku 上作为部署的 WAR 运行应用程序时不起作用。在 Heroku 上,我收到以下异常:com.fasterxml.jackson.databind.exc.MismatchedInputException:由于输入结束而没有要映射的内容

出于某种原因 - 看起来如此 - 在 Heroku 上运行时,jsonString 并不保持完全可用,这很奇怪,因为它在传递给 objectReader 之前已被完整读取.

关于如何隔离问题的想法将不胜感激。

jsonString 是从 InputStream 中读取的,如下所示:

InputStream is = DirectionsResponse.class.getClassLoader().getResourceAsStream(resourceName);

// which is used to...

private static String readFromInputStream(InputStream inputStream) throws IOException
{
    StringBuilder resultStringBuilder = new StringBuilder();
    try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream)))
    {
        String line;
        while ((line = br.readLine()) != null)
        {
            resultStringBuilder.append(line).append("\n");
        }
    }
    return resultStringBuilder.toString();
}

[1] - com.fasterxml.jackson.core:jackson-databind:jar:2.10.0

最佳答案

在返回 resultStringBuilder.toString() 之前添加 log.info(length: "+ resultStringBuilder.toString().length()); 后,此问题消失了在该方法的末尾,所以我将结束这个问题。

感谢您的帮助...!

关于java - 在 Heroku : No content to map due to end-of-input 上运行时出现错误 fastxml...MismatchedInputException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60065273/

相关文章:

java slick2D 模拟重力跳跃

java - Hadoop "Could not find or load main class com.sun.tools.javac.Main"

java - 在没有 JSP 的情况下执行 Spring MVC 的最佳方法?

javascript - 我什么时候应该构建 'dist' 文件夹,什么时候不应该构建?

postgresql - Heroku 的 Postgres 持续保护与包含追随者数据库以实现完整性和恢复之间有什么区别

python - 如何在不保存的情况下在django中操作用户上传的文件?

java - JNI 中已弃用的 Java 中 Finalize 方法的替代方案

java - 在 Spring 中关闭 @Scheduled 任务

java - 获取错误 : . ...嵌套异常是 java.lang.NoSuchMethodError : org. apache.catalina.Context.addServletMapping(Ljava/lang/Stri

mysql - Spring Boot + MySQL + Docker Compose - 无法让 Spring Boot 连接到 MySQL