0

JSON データを返すコントローラー アクションがあります。getJSON メソッドを使用して簡単にアクセスできます。しかし、その JSON データを Web API 経由で取得したいと考えています。

私のコントローラーコードは

public ActionResult GetProfile(string profileName)
    {
        var profileDataService = new BokingEngine.MasterDataService.GetProfileDataService();
        var request = new ProfileSearchCriteria { Name = profileName };
        var profileDetails = profileDataService.GetList(request);
        return Json(profileDetails, JsonRequestBehavior.AllowGet);

    }
4

2 に答える 2

5

Web API では、これがアクションになります。

public class ProfileController : ApiController {
    public ProfileData Get(string profileName)
    {
        var profileDataService = new BokingEngine.MasterDataService.GetProfileDataService();
        var request = new ProfileSearchCriteria { Name = profileName };
        var profileDetails = profileDataService.GetList(request);
        return profileDetails;
    }
}

次に、クライアントは必要なデータ型を指定する必要があります。Accept: application/json ヘッダーが指定されている場合、Web API は JSON を返します。Accept: text/xml は XML を生成します。

詳細: http://www.asp.net/web-api/overview/formats-and-model-binding/media-formatters

于 2013-03-13T07:11:00.863 に答える
0

ActionResult を JsonResult に変更して、Json を返すようにします。Web API 固有にしたい場合は、ApiController を継承する Controller を作成する必要があります。

于 2013-03-13T10:10:08.897 に答える