1

我有一个使用 OData v3 的 WFC 数据服务。遵循 REST 规范,我创建了一个由 POST 调用的方法,该方法使用 Entity Framework 添加一个实体(在本例中为客户端)。

一切正常并按预期添加,但问题是我不太习惯使用查询字符串传递我需要的所有参数,这意味着“典型”POST 通常是application/x-www-form-urlencoded在请求正文中而不是在查询字符串中发送参数。WCF 数据服务似乎不允许以相对直接的方式进行此操作。

使用我应该知道的查询字符串是否有任何主要的缺点/安全问题(除了查询字符串的明显大小限制)?我可以在请求正文中发送参数并在application/x-www-form-urlencoded不跳过数百万圈的情况下使用吗?

对所有内容都使用查询字符串感觉不妥。

4

1 回答 1

2

使用 OData 创建实体的标准方法是将 POST 发送到实体集 URL(您希望实体插入的实体集的 URL)。该 POST 在其正文中具有作为 ATOM 或 JSON 有效负载的实体。http://www.odata.org/documentation/operations#CreatingnewEntries

使用服务操作来创建新实体绝对是可能的,但并不常见。目前无法将参数发送到主体内的服务操作(没有一些严重的黑客攻击)。

于 2012-08-14T08:05:14.107 回答