我们有一个私有的REST API,该API已被锁定,并且只能由我们控制的软件调用,而不能由公众调用。许多端点采用JSON有效负载。如果反序列化JSON有效负载失败(例如,有效负载的int
预期为Guid
,则抛出该异常,并且API返回500 Internal Server Error)。从技术上讲,在这种情况下,它应该返回400 Bad Request。
在这种情况下,不知道需要多少努力才能确保返回400,将API更改为返回400有好处吗?调用软件和QA是唯一看到此错误的实体,并且仅当软件发送的数据与预期模型不匹配时才会发生此错误,这无论如何都是一个严重缺陷。我认为这是多余的工作和维护,没有任何收益。
我是否在这里遗漏了一些东西,认为400和500之间的区别会大大帮助?
如果您要遵循严格的REST原则,则应该返回4xx,因为问题出在发送数据而不是服务器程序上]
如果明天其他程序员/团队将解决此问题,则报告的错误不会传达有用的信息