实体可以发布但可以放置(405)

2020-09-22 16:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我有一个简单的演示情况:...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我有一个简单的演示情况:

  • Hana试用数据库
  • 具有3个键和其他字段的表
  • 在线编辑器工具中的向导工具创建的odata服务

我的文件是:

xsodata:

服务{
     " DB"。" CA01"为" Ca01";
    ...
 } 

xsaccess:

 {
     "暴露":是,
     "身份验证":[{
         " method":" Form"
     }],

     " mime_mapping":[{
         "扩展名":" jpg",
         " mimetype":" image/jpeg"
     }],
     " force_ssl":否,
     " enable_etags":是的,
     " prevent_xsrf":是的,
     " anonymous_connection":null,
     " cors":[{
         "已启用":false
     }],
     " cache_control":"无缓存,无存储",
     " default_file":" index.html"
 } 

我使用带有sapui5的odata模型对包装进行操作。

当我阅读(GET)没问题时,当我创建(POST)时没问题(数据已成功写入),当我更新(PUT)时,我得到了答案:

 {" error":{" code":""," message":{" lang":" en-US"," value":" URI对于PUT操作无效。URI必须指向 用于PUT操作的单个资源。"}}} 

带有状态码:

 405方法不允许

创建或更新时,我使用的是相同的js obj:

 var saveObj = {
     KEY1:1
     KEY2:1
     KEY3:1
     VALUE1:"某物",
     ...
 } 

odata创建调用为:

 odataServ.create('Ca01',saveObj,null,函数(odata,resp){
     console.log(odata);
     console.log(resp);
    }); 

odata更新调用为:

 odataServ.update('Ca01',saveObj,null,函数(odata,resp){
     console.log(odata);
     console.log(resp);
    }); 

如您所见,唯一的区别是方法。

很明显,我尝试在创建完成后进行更新,该行出现在表中,填充了键,重新加载了sapui5应用程序以及其他基本测试。


如果有人可以帮助我,我将非常感激

3条回答
SAP浪
2020-09-22 17:10

我不明白您的要求。 您必须提供带有ID的路径来更新值,否则系统将永远不会知道您要调用的内容。

此致

Jamie

一周热门 更多>