在 Weblogic 服务器上使用 spring 引导 REST 返回数组或列表时出现内部服务器错误

Internal server error when returning an array or list with spring boot REST on Weblogic server

我在 weblogic (v10.3.6)

上托管 spring 启动应用程序(spring-boot-web-starter)

我正在尝试实现一个简单的 REST api。返回字符串、整数等工作正常。当我尝试使用以下代码 return 数组或列表时:

@GetMapping("/foo")
public String[] foo() {
    String[] arr = { "foo", "foo2" };
    return arr;
}

我收到以下错误:

500 Internal Server Error

The server encountered an unexpected condition which prevented it from fulfilling the request.

  1. 代码在嵌入式 tomcat 上本地运行,当我将应用程序上传到服务器时却收到错误消息。
  2. 我无法看到通过日志抛出的 error/exception,因为 spring 引导日志记录在服务器上不起作用(它在本地工作得很好,但在服务器上没有文件已创建,可能是访问权限问题)
  3. 我认为它与 JSON 序列化有关。服务器使用 Java 版本 1.6,但我无法找出错误的原因。

编辑:我也无法 return 除字符串以外的对象。只有基本的 Java 类型。

我通过将 Spring 提供的 Jackson 版本替换为 2.6.7 版本(最后一个版本与 java 1.6 兼容)

来修复错误