Java REST端点在AWS和localhost中返回不同的结果

Java REST端点在AWS和localhost中返回不同的结果,java,spring,rest,amazon-web-services,Java,Spring,Rest,Amazon Web Services,编辑:我观察到localhost和AWS都返回了409,这似乎是不正确的。AWS正在返回500(我仍然希望返回null,因为Exception.class的@ExceptionHandler方法明确地将状态设置为500并返回null)。仔细查看异常消息“无法检查JDBC自动提交模式;嵌套异常为org.hibernate.exception.GenericJDBCException:无法检查JDBC自动提交模式”,这看起来更像是数据库问题 原件: 我有一个用Java/Spring编写的RESTfu

编辑:我观察到localhost和AWS都返回了409,这似乎是不正确的。AWS正在返回500(我仍然希望返回null,因为Exception.class的@ExceptionHandler方法明确地将状态设置为500并返回null)。仔细查看异常消息“无法检查JDBC自动提交模式;嵌套异常为org.hibernate.exception.GenericJDBCException:无法检查JDBC自动提交模式”,这看起来更像是数据库问题

原件:

我有一个用Java/Spring编写的RESTful服务。在这个服务中,我有3个@ExceptionHandler方法,它们都返回null。只有一个异常将状态设置为409冲突,这是我在当前场景中所期望的

在localhost上使用Postman测试服务时,在特定情况下,我预期会遇到409个与无数据体的冲突。然而,当我在amazonaws.com上部署后点击该服务时,我得到了409冲突,结果体由时间戳、状态、错误、异常和消息值组成。/manage/info返回的版本看起来是正确的,git提交数据的报告完全相同

localhost版本返回4个标题(加上一个自定义标题):

  • 内容长度=0
  • 日期=(今天)
  • 服务器=apachecoyote/1.1
  • X-Application-Context=应用程序
Amazon AWS版本返回5个标题(加上相同的自定义标题):

  • 内容类型=应用程序/json;字符集=UTF-8
  • 日期=(今天)
  • 服务器=apachecoyote/1.1
  • 传输编码=分块
  • X-Application-Content=应用程序,应用程序
这可能是什么原因造成的?我调用service~的应用程序可以处理这两种情况,但是当服务本身显然发生了一些奇怪的事情时,在那里捆绑修复似乎是错误的。它被编码为期望null,而不是由不属于非409结果一部分的值组成的主体

这可能是什么原因造成的

它很可能是您用来运行服务的web应用程序框架。这可能是框架软件(在本地计算机和AWS上)的固有差异,也可能是配置差异

(我注意到您没有提到如何在本地运行该服务。)

我调用service~的应用程序可以处理这两种情况,但是当服务本身显然发生了一些奇怪的事情时,在那里捆绑修复似乎是错误的。它被编码为期望null,而不是由不属于非409结果一部分的值组成的主体


我不同意“显然有些奇怪的事情”正在发生。这是>>我喜欢的事情!看来我忽略了什么。从AWS服务器返回的响应不是我最初说的409,而是500。我怀疑这个问题可能没有答案。我正在更新这个问题。我正在通过Eclipse本地运行,作为一个Spring Boot应用程序。