我收到“不允许的方法”。调用 GET 操作时来自我的 WCF 服务的错误。我知道为什么会这样,但不明白为什么不允许这样做。我想我可能做错了什么。我正在尝试对 GET 和 POST 使用相同的 UriTemplate(属性)结构。我遵循标准的 REST 服务约定:
GET - /api/v1/{entityType} - to get a list of {entityType} e.g. /api/v1/cars
POST - /api/v1/{entityType} - to insert an entity e.g /api/v1/car
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "api/v1/{entityType}?skip={skip}&take={take}")]
List<Entity> GetEntityList(string entityType, int skip, int take);
[OperationContract]
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
UriTemplate = "api/v1/{entityType}")]
Entity InsertEntity(string entityType, Entity entity);
我知道我的 UriTemplates 是相同的,但为什么不允许这样做?服务器没有检测到我要执行的操作吗?