如何在ASP.Net MVC Web API中重命名请求/响应对象属性?

时间:2015-05-15 11:58:41

标签: rest asp.net-web-api minify

请帮助我尽量减少我的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'
},...]

我想知道是否可以使用特殊属性来重命名请求/响应中的属性。 顺便说一下,我正在谈论请求,因为我对POST请求有同样的问题。

1 个答案:

答案 0 :(得分:2)

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

public void getDBContent(Connection conn) {
    final String str = "Select columnname,columnname2,columnname3 from tablename";
    try {
        PreparedStatement sqlStatement = conn.prepareStatement(str.toString());
        ResultSet rs = sqlStatement.executeQuery();

        while (rs.next()) {
            System.out.println(rs.getString("columnname"));
            System.out.println(rs.getString("columnname2"));
            System.out.println(rs.getString("columnname3"));

        }
    } catch (Throwable e) {
    }
}

通过这种方式,JSON.NET将知道在序列化或反序列化DTO时使用的名称。