0xE2 是 属性 名称的无效开头

0xE2 is an invalid start of a property name

安装 HAL 验证器 (https://paragsarin.medium.com/hal-api-validation-754fd3b2c96) 并准备 CURL 请求后,我收到错误“0xE2 是 属性 名称的无效开头”。我的 HAL 服务的响应已经验证为 JSON,那么为什么我会收到此错误?

原来这个错误是由于解析基于 json 的验证器配置文件造成的,而不是验证 HAL 响应(也是 json)的结果。配置文件中的 json 竟然有左右双引号(不允许)而不是标准双引号。这些字符来自于在创建配置文件时从 Web 浏览器复制到编辑器中。用标准双引号左右交换解决了这个问题。

对我来说,问题是由我的 POST 请求中的 toString 方法引起的:

httpRequest.body(requestParams.toString())

起飞 toString 解决了问题:

httpRequest.body(requestParams);