今天在通过OData终结点update记录的时候报"Error processing request stream. The request should be a valid top-level resource object”,经过谷歌查询后发现是属性赋值时格式不对,其实从英文的字面意思也能猜出一二,原始代码如下面
var updateEntity = new Object(); updateEntity.sc_bizState = EMEntityState.complete ;此处的sc_bizState是picklist字段,上面的赋值方式执行update的时候就会报错,赋值方式是错误的
改正后的正确的写法是下面这样的
var updateEntity = new Object(); updateEntity.sc_bizState = { Value: EMEntityState.complete };
OData终结点CRUD操作过程中各种属性字段的赋值方式可见勇哥的博客:
http://luoyong0201.blog.163.com/blog/static/112930520144138043423/