Alw*_*wyn 10 asp.net rest asp.net-mvc-4 asp.net-web-api
有没有办法通过"GET"查询web api,但是参数中有复杂的对象?
到目前为止我看到的所有例子似乎都表明我必须使用"POST".但我不想使用"POST",因为这是一个查询,同时我不想要一个带有16个参数的函数,因为它只是尖叫脆弱.
public Product Get(int id, string name, DateTime createdBy, string stockNumber, ... )
{
...
}
Run Code Online (Sandbox Code Playgroud)
我希望将上述内容转化为:
public Product Get(ProductQuery query)
{
...
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?你如何使HttpClient与上述服务一起工作.
Mag*_*ing 22
您可以ProductQuery传递参数[FromUri].
让我们说这是你的ProductQuery班级:
public class ProductQuery
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime CreatedBy { get; set; }
public string StockNumber { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
您可以使用[FromUri]... 注释您的动作参数
public Product Get([FromUri] ProductQuery productQuery)
{...}
Run Code Online (Sandbox Code Playgroud)
...并且可以从Uri中的查询字符串传递ProductQuery(即Id,Name...)的属性:
http://.../api/products?Id=1&Name=Product1&CreatedBy=1/4/2013&StockNumber=ABC0001
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6144 次 |
| 最近记录: |