gpt4 book ai didi

asp.net - 通过 GET 的 Mvc Web API 复杂对象查询

转载 作者:行者123 更新时间:2023-12-04 02:48:28 24 4
gpt4 key购买 nike

有没有办法通过“GET”查询web api,但其参数中有复杂的对象?

到目前为止,我看到的所有示例似乎都表明我必须使用“POST”。但我不想使用“POST”,因为这是一个查询,同时我不想要一个有 16 个参数的函数,因为它太脆了。

public Product Get(int id, string name, DateTime createdBy, string stockNumber, ... ) 
{
...
}

我想把上面的变成:
public Product Get(ProductQuery query) 
{
...
}

有没有办法做到这一点?以及如何使 HttpClient 与上述服务一起工作。

最佳答案

您可以拥有 ProductQuery传递参数[FromUri] .

假设这是您的 ProductQuery类(class):

public class ProductQuery
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime CreatedBy { get; set; }
public string StockNumber { get; set; }
}

您可以使用 [FromUri] 注释您的操作参数...
    public Product Get([FromUri] ProductQuery productQuery)
{...}

... 并具有 ProductQuery 的属性(即 Id , Name , ...)可以从 Uri 中的查询字符串传入:
http://.../api/products?Id=1&Name=Product1&CreatedBy=1/4/2013&StockNumber=ABC0001

关于asp.net - 通过 GET 的 Mvc Web API 复杂对象查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14163210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com