![](/img/trans.png)
[英]How to create customers api using ASP.NET MVC4 and Web API for predefined json result
[英]How to hide/show the result JSON using verbose parameter in ASP.net Web API
我已經編寫了ASP.Net Web API,我需要根據參數( 即verbose = true )顯示完整/某些結果JSON
解釋此要求。
我當前的JSON是
沒有冗長
GET方法:
api / v1 / Patient?Key = 1
{
"user": {
"key": 1,
"suffix": "1",
"firstName": "Dhanu",
"lastName": "Kumar",
"middleName": "",
"address": {
"address1": "uuu",
"address2": "TTT",
"address3": "xx",
"city": "yy"
}
}
}
冗長
api / v1 / patient?Key = 1&verbose = true
{
"user": {
"key": 1,
"firstName": "Dhanu",
"lastName": "Kumar",
"middleName": ""
}
}
我的User.cs
public UserDTO()
{
public int Key { get; set; }
public string Suffix { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string MiddleName { get; set; }
public Address Address {get;set;}
}
基於詳細參數,我將隱藏/顯示JSON中的某些字段。
有什么辦法可以做到這一點?
您可以使用繼承
public class UserDTO {
public int Key { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string MiddleName { get; set; }
}
public class VerboseUserDTO: UserDTO {
public string Suffix { get; set; }
public Address Address {get;set;}
}
並讓端點根據提供的參數返回類型。
//api/v1/patient
public IHttpActionResult Get(int key, bool verbose = false) {
//...get data based on key
if(data == nul)
return NotFound();
if(verbose) {
var verboseDto = new {
user = new VerboseUserDTO {
//...populated from data
}
};
return Ok(verboseDto);
}
var dto = new {
user = new UserDTO {
//...populated from data
}
};
return Ok(dto);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.