0

这是我的行动

public AddressModel[] Get()
{
    return addresses.ToArray();
}

public AddressModel Get([FromUri]GetAddressModelById model)
{
    return Addresses.FirstOrDefault(x => x.Id == model.Id);
}
...
public class GetAddressModelById
{
    public Guid Id { get; set; }
}

网址看起来像这样

domain:port/api/controller
domain:port/api/controller/[guid]

并且路由是默认路由。当我运行它时,我得到了异常Multiple actions were found that match the request。我错过了什么?

4

2 回答 2

0

尝试 domain:port/api/controller/model=[guid]

如果你能这样做也很好:

public AddressModel Get([FromUri]Guid model) { ... }

于 2012-08-24T07:12:04.027 回答
0

您收到此错误的原因是,如果您请求 domain:port/api/controller,我们无法决定是将其分派到Get()还是Get([FromUri]GetAddressModelById model)将模型设置为 null。在这种情况下,您有以下两个选项

  1. 使用普通的 Guid 类型参数而不是类包装器
  2. 在正文中发布您的复杂类型,而不是通过 URI 发送
于 2012-08-24T21:56:06.110 回答