Asp.net
通過 GET 的 Mvc Web API 複雜對象查詢
有沒有辦法通過“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課程: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(ieId,Name, …) 的屬性可以從 Uri 中的查詢字元串傳入:http://.../api/products?Id=1&Name=Product1&CreatedBy=1/4/2013&StockNumber=ABC0001