请帮助我尽量减少我的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请求有同样的问题。
答案 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时使用的名称。