如何在POST/PUT/PATCH中格式化edm.decimals?

2020-08-22 19:54发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)对于已回答的问题 https:/...

         点击此处--->   EasySAP.com群内免费提供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参数还会有更多后果吗?

谢谢

克劳斯

2条回答
空代码
2020-08-22 20:11

您好奥利弗·海因里希(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。

一周热门 更多>