URL の末尾にある「.json」または「.xml」を検出するようにルーティングを設定することはできますか? アクションメソッドにパラメーターを追加することで、そのパラメーターを読み取れないようにすることは可能ですか? この目的でクエリ文字列を使用するのではなく、醜いように思えます。
MyWebsite/Controller/MyAction.json
MyWebsite/Controller/MyAction.xml
MyWebsite/Controller/MyAction.otherType
---
public ActionResult MyAction()
{
var myData = myClient.GetData();
return SerializedData(myData);
}
private ActionResult SerializedData(Object result)
{
String resultType = SomeHowGetResultTypeHere;
if (resultType == "json")
{
return Json(result, JsonRequestBehavior.AllowGet);
}
else if (resultType == "xml")
{
return new XmlSerializer(result.GetType())
.Serialize(HttpContext.Response.Output, sports);
}
else
{
return new HttpNotFoundResult();
}
}