点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
对于已回答的问题 https://answers.sap.com/questions/12696596/not-able-to-create-entries-with-decimal-attributes.html 。
这是有关在将请求发送到CAP服务时在http请求正文中格式化edm.decimal的信息。 与OData规范不同,此操作必须作为JSON-Strings完成。 精细。 但是,我发现这不足以使事情正常进行。 考虑以下请求:
PATCH http://localhost:4004/admin/Products(101) 内容类型:application/json { "价格":" 12.13" }
其中价格为Decimal(9,2)。 这将导致错误响应(Node.js上的CDs版本3.31.1):
"反序列化有效负载时出错;请考虑在内容类型中使用参数IEEE754Compatible = true,并调整格式。在实体反序列化期间发生错误。Edm.Decimal值不支持JSON编号。"
现在,将Content-Type标头扩展到
内容类型:application/json; IEEE754Compatible = true
使请求正常工作!
我的问题:这个IEEE标头参数是CAP团队的正式建议吗? 是否在某处有记录(至少在cap.cloud.sap中找不到)? 设置此IEEE参数还会有更多后果吗?
谢谢
克劳斯
嗨,克劳斯,
对于JavaScript和Node.js,建议始终使用IEEE753Compatible = true格式参数。 无疑,这将使应用程序更强大,因为EDM.Decimal支持的值范围比Javascript数字大;如果对请求有效负载使用JSON.parse()进行处理,则EDM.Decimal值将不会被截断。
关于Oliver
您好奥利弗·海因里希(aliver Heinrich)和 Klaus Kopecz ,
SAPUI5的v4.ODataModel提供了IEEE754Compatible = true:
" Content-Type":" application/json; charset = UTF-8; IEEE754Compatible = true"
"接受":" application/json; odata.metadata = minimal; IEEE754Compatible = true"
最好的问候
Mathias。
一周热门 更多>