RFC 7807

2023-09-09

RFC 7807

Spring框架正式发布版本6了,主要功能更新包括基于GraalVM的native image、对LOOM虚拟线程的支持、声明式的HTTP client,以及CRaC等。

其中有一个对RFC 7807的支持, 扶墙老师特意查了下,原来是针对对HTTP API的规范,全称是 Problem Details for HTTP APIs。RFC 7807主要为了解决过去设计Web API的时候,到底是侧重使用HTTP status 还是侧重使用自定义json负载的问题。

RFC 7807通过规范负载格式内容,为API的响应提供更多规范细节,其中包括五个主要字段: type、title、detail、status、instance, Spring框架在6之后,引入了ProblemDetail类来封装对RFC 7807的支持,另外, RFC 7807也允许在detail中增加更多自定义信息,在ProblemDetail中可以通过setProperty直接设置。

东西确实是好东西,但鉴于遗留系统和开发者的遗留习惯,而且,现在也有很多事实上的工程实践标准, 所以,扶墙老师感觉要迁移到使用RFC 7807估计没那么快,但可以关注下。