我目前正在通过 ASP.Net WebAPI 技术创建 Restful API。我有 2 个与 WebAPI 相关的问题
我在下面做了:
在 Controller 类中创建以下方法:
公共 HttpResponseMessage PostOrderData(OrderParam OrderInfo)
- 根据参数 OrderInfo,查询 SQL Server 并获取订单列表。
- 使用集合对象设置 Response.Content:
List<Orders> ordList = new List<Orders>(); //filled the ordList from SQL query result var response = Request.CreateResponse<List<Orders>>(HttpStatusCode.OK, ordList);
- 在客户端,
OrderParam ordparam = new OrderParam(); response = client.PostAsJsonAsync("api/order", ordparam).Result; if (response.IsSuccessStatusCode) { List<Orders> mydata = response.Content.ReadAsAsync<List<Orders>>().Result; }
所以问题:将数据发布到服务器以获取数据是否可以,即使用 Get 的 Post 数据的使用是否正确?方法有什么缺点吗?(一个缺点是:我无法直接从浏览器查询)我在这里使用了 Post,因为参数“OrderParam”将来可能会扩展,并且由于 URL 长度的增加可能会出现问题。
第二个问题是:我使用类作为参数和返回对象,即 OrderParam 和 Orders。现在这个 web api 的消费者(客户)是不同的客户,他们将通过 .Net (C#) 或通过 Jquery/JS 使用 API。那么我们是否需要将这个包含 OrderParam 和 Orders 类定义的类文件手动传递给每个客户端?并在上述课程有任何变化时每次发送给客户?
提前感
谢沙阿