抱歉,我的英语不太好,所以我将尝试使用代码告诉所有人我需要的东西。在格式方面,当我有2个模型时(例如:用户/产品),我将创建2个控制器** ,如下
var serializer = new JavaScriptSerializer();
var users= new users() { id = 1};
var jsonText = serializer.Serialize(users);
var client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:65370/");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
StringContent content = new StringContent(jsonText, Encoding.UTF8, "application/json");
///////////////
var a = client.PostAsync("api/users", users, new JsonMediaTypeFormatter()).Result; (client)
var b = client.PostAsync("api/product", product, new JsonMediaTypeFormatter()).Result; (client)
然后在创建用户和产品控制器时,邮政编码应如下所示
公共IHttpActionResult Postusers(用户aa){}(服务器)
公共IHttpActionResult Postproduct(产品bb){}(服务器)
我只是想为上面创建1个控制器,如下所示
var b = client.PostAsync<users/product>("api/all", product, new JsonMediaTypeFormatter()).Result;(client)
public IHttpActionResult Post<T>(Object ForAll) where T : new() {} (server)
我该如何建立这个结构,请帮助我解决这个严重的问题,谢谢
您可以拥有一个通用的基本控制器,如下所示:
public abstract class BaseController<T> : ApiController
where T : class
{
public virtual IHttpActionResult Post(T obj)
{
// ......
}
// some other common methods
}
然后从该控制器继承您的每个实体:
public class UsersController : BaseController<User>
{}
public class ProductsController : BaseController<Product>
{}
这种方法可以让你的约定,所以"api/users"
和"api/products"
路线将工作和公共代码重构为一个通用的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句