0
私はビジュアルスタジオ2015にAPI
を作成しました。このAPIを実行している間、私は期待どおりの応答とデータを返します。以下はウェブAPIのjson結果を変更する
public HttpResponseMessage GetByMsn(string msn, DateTime dt)
{
try
{
var before = dt.AddMinutes(-5);
var after = dt.AddMinutes(5);
var result = medEntitites.tj_xhqd
.Where(m =>
m.zdjh == msn &&
m.sjsj >= before &&
m.sjsj <= after).Select(m => new { MSN = m.zdjh, DateTime = m.sjsj, Signal_Strength = m.xhqd }).Distinct();
return Request.CreateResponse(HttpStatusCode.Found, result);
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
}
}
WebApiConfig
ファイルは、以下の応答が
[
{
"MSN": "002999000077",
"DateTime": "2017-10-11T10:16:51",
"Signal_Strength": "17"
},
{
"MSN": "002999000077",
"DateTime": "2017-10-11T10:19:01",
"Signal_Strength": "16"
},
{
"MSN": "002999000077",
"DateTime": "2017-10-11T10:20:57",
"Signal_Strength": "16"
},
{
"MSN": "002999000077",
"DateTime": "2017-10-11T10:22:53",
"Signal_Strength": "17"
}
]
ある
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));
config.Formatters.Remove(config.Formatters.XmlFormatter);
config.Routes.MapHttpRoute(
name: "GetByMsn",
routeTemplate: "api/{controller}/{action}/{msn}/{dt}",
defaults: null,
constraints: new { msn = @"^[0-9]+$" , dt = @"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$" }
);
である私のコントローラのコードがあると私はちょうどしたい
{"list":
[
{
"MSN": "002999000077",
"DateTime": "2017-10-11T10:16:51",
"Signal_Strength": "17"
},
{
"MSN": "002999000077",
"DateTime": "2017-10-11T10:19:01",
"Signal_Strength": "16"
},
{
"MSN": "002999000077",
"DateTime": "2017-10-11T10:20:57",
"Signal_Strength": "16"
},
{
"MSN": "002999000077",
"DateTime": "2017-10-11T10:22:53",
"Signal_Strength": "17"
}]
}
を取得したいですを追加開始時の名前。私はAPIを初めて使っているので、私は方法を見つけることができません。
ご協力いただければ幸いです。