点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嘿
我的应用程序中存在以下问题:
1。 我发送一个PUT请求,该请求以204响应(如预期)
2。 SDK随后会立即发送GET请求(无意)
为减轻压力,我使用了`preferNoContent`标志,但GET请求仍然被触发。
让选项= RequestOptions() options.sendEmptyUpdate = true options.updateMode = .replace options.preferNoContent = true service.updateEntity(item,标头:.empty,选项:options){错误 DispatchQueue.main.async { 如果让错误=错误{ 完成(.failure(error.niceError)) }其他{ 完成(.success(true)) } } }
转发到开发。
这是正确的。
根据您的描述:" SDK随后立即发送GET请求(无意)"
这似乎是一个在线应用程序,对吗?
我不是这些类的所有者,但我想它的目的是默认情况下在CRUD调用后更新值。/p>
open func updateEntity(_实体:SAPOData.EntityValue ...
open func createEntity(_实体:SAPOData.EntityValue ....
然后可以使用loadIfUpdateStatus,loadIfCreateStatus ...来关闭loadEntity
标头不是由SAPOData评估的,它是由Put请求中的后端而不是随后的Get请求中的评估。
204表示未返回Put的内容。
对于loadEntity请求,标头只是被忽略。
https://help.sap.com/doc/978e4f6c968c4cc5a30f9d324aa4b1d7/Latest/en-US/Documents/Framework/SAPOData ServiceOptions.html#/s:8SAPOData14ServiceOptionsC18loadIfUpdateStatusSivp
在线文档:
loadIfUpdateStatus
默认为
204
(HTTP无内容),如果更新响应状态为强制,则在updateEntity
返回之前强制执行隐式的loadEntity
调用。 来自服务器的是> =204
。 如果此属性的值为200
(HTTP OK),则将始终在updateEntity
返回之前发出隐式的loadEntity
调用,以检索帖子。 -更新实体状态。 如果此属性的值为0
,则将永远不会发出隐式的loadEntity
调用。声明
SWIFT
一周热门 更多>