Web API を文書化するために、swagger ui プラグインを使用しています。次のような JSON オブジェクトを返したい:
{"Person": {
"Id": 1,
"Name": "John",
"address": {
"Street": "ABC",
"City": "Penrith",
"PostCode": 2034,
"State": "NSW"
},
"DOB": "2013-11-11T00:00:00"
}
}
Person オブジェクト名に注意してください。
次のコードでこれを行うことができます:
public HttpResponseMessage Get(int id)
{
Person person = new Person { Id = 1, Name = "John", DOB = new DateTime(2013, 11, 11), address = new Address { City = "Penrith", State = "NSW", PostCode = 2034, Street = "ABC" } } ;
return Request.CreateResponse(HttpStatusCode.Accepted, new { Person = person });
}
残念ながら、戻り値の型は Person 自体ではなく HttpResponseMessage であるため、Swagger はモデルを HttResponseMessage として表示するだけです。それは私が望むものではありません。
戻り値の型を Person に変更して person オブジェクトを返すと、JSON 戻り値で Person オブジェクト名を取得できません。それだけを返します-
{
"Id": 1,
"Name": "John",
"address": {
"Street": "ABC",
"City": "Penrith",
"PostCode": 2034,
"State": "NSW"
},
"DOB": "2013-11-11T00:00:00"
}
Person を返す方法はありますが、Person オブジェクト名を持つ JSON 文字列を持っていますか?