0

我有一个返回 JSON 数据的控制器操作。它可以通过 getJSON 方法轻松访问。但我希望通过 Web API 检索 JSON 数据。

我的控制器代码是

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。接受: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 回答