在 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.
- 代码在嵌入式 tomcat 上本地运行,当我将应用程序上传到服务器时却收到错误消息。
- 我无法看到通过日志抛出的 error/exception,因为 spring 引导日志记录在服务器上不起作用(它在本地工作得很好,但在服务器上没有文件已创建,可能是访问权限问题)
- 我认为它与 JSON 序列化有关。服务器使用 Java 版本 1.6,但我无法找出错误的原因。
编辑:我也无法 return 除字符串以外的对象。只有基本的 Java 类型。
我通过将 Spring 提供的 Jackson 版本替换为 2.6.7 版本(最后一个版本与 java 1.6 兼容)
来修复错误
我在 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.
- 代码在嵌入式 tomcat 上本地运行,当我将应用程序上传到服务器时却收到错误消息。
- 我无法看到通过日志抛出的 error/exception,因为 spring 引导日志记录在服务器上不起作用(它在本地工作得很好,但在服务器上没有文件已创建,可能是访问权限问题)
- 我认为它与 JSON 序列化有关。服务器使用 Java 版本 1.6,但我无法找出错误的原因。
编辑:我也无法 return 除字符串以外的对象。只有基本的 Java 类型。
我通过将 Spring 提供的 Jackson 版本替换为 2.6.7 版本(最后一个版本与 java 1.6 兼容)
来修复错误