APPLICATION_STREAM_JSON_VALUE与APPLICATION_NDJSON_VALUE的差异.&l



在使用Spring 5响应性api时,我遇到了已弃用的MediaType APPLICATION_STREAM_JSON_VALUE,当使用它时,它以流的方式显示来自GET REST端点的值,即在浏览器上显示值。但截至今天,文档声明它已被APPLICATION_NDJSON_VALUE所取代,如下文所示:

APPLICATION_STREAM_JSON_VALUE弃用。从5.3开始吧源自W3C活动流规范,该规范具有更具体的目的和已取代了不同的mime类型。使用APPLICATION_NDJSON作为替代或任何其他行分隔的JSON格式(如JSON行、JSON文本序列)。

当我检查MediaType APPLICATION_NDJSON_VALUE的行为时,我观察到当在浏览器上使用GET API时,而不是在浏览器上实时流式传输它,结果被下载为文件,您可以稍后查看。但这是否会影响流媒体的行为,还是完全一样?APPLICATION_NDJSON_VALUE是否带来了一些其他的意义,或者它只是一个纯粹的替代APPLICATION_STREAM_JSON_VALUE。如果它只是一个替代品,为什么浏览器的流行为会变成Flux被下载的结果?或者让我知道,如果我做了任何错误,而试图复制确切的行为?

但这是否会以任何方式影响流媒体行为或它完全相同?

完全一样。内容类型标头只告诉客户端它所提供的内容类型,仅此而已。浏览器将尽最大努力查看该标头,并确定是显示内联内容还是下载内容,但这只是"最好的猜测",特别是在诸如换行分隔的JSON等新标准的情况下。在实践中,你永远不会在浏览器中打开它(而是将其作为API使用),所以这并不是什么大问题。

如果你真的不需要它在浏览器中下载,你可以尝试添加一个Content-Disposition: inline头-但我个人会忽略浏览器的行为,并使用更适合的工具(如curl)代替。

相关内容

  • 没有找到相关文章

最新更新