如何在 ASP.Net MVC Web API 中重命名 Request/Response 对象属性?

How to rename Request/Response object properties in ASP.Net MVC Web API?

你能帮我尽量减少我的 Web API 路由的响应。

public class Product
{
    public string UniqueId {get;set;}
    public string Title {get;set;}
    ...
}

public class ProductsController : ApiController
{
    public IEnumerable<Product> GetAllProducts()
    {
        return repository.GetAll();
    }
    // ....
}

响应包含实体属性的全名:

[{
    UniqueId: 123,
    Title: 'Book 1'
},...]

我想通过为 DTO 属性使用短别名来最大程度地减少流量,并看到如下内容:

[{
    u: 123,
    t: 'Book 1'
},...]

我想知道是否可以使用特殊属性来重命名 request/response 中的属性。 顺便说一句,我说的是请求,因为我对 POST 请求有同样的问题。

尝试在 DTO 的属性上应用以下属性:

[JsonProperty(PropertyName = "u")]
public string UniqueId {get; set;}

这样,JSON.NET 将知道在序列化或反序列化您的 DTO 时使用哪个名称。