当我向REST服务发出带有JSON正文的POST请求时,我将其包含Content-type: application/json; charset=utf-8
在消息头中。没有此标头,我会从服务中获取错误。我也可以Content-type: application/json
不用;charset=utf-8
部分就成功使用。
究竟是charset=utf-8
做什么的?我知道它指定了字符编码,但是如果没有它,服务就可以正常工作。这种编码是否限制了邮件正文中可以包含的字符?
application/json
媒体类型注册charset
,尽管实际上经常提供,但似乎根本没有受支持的参数。
I know it specifies the character encoding but the service works fine without it.
“工作”并不总是意味着“现有的代码/配置是涵盖所有极端情况而做一件事情的最正确方法”。它取决于所有在其他情况下可能不起作用的约定和假设。就我个人而言,我总是尽量保持露骨。