【问题标题】:JSON.NET MVC 4 WebApi proper return typeJSON.NET MVC 4 WebApi 正确的返回类型
【发布时间】:2013-07-02 09:48:21
【问题描述】:

我看到了 WebApi Controller.Method 的不同返回类型的不同示例。

  1. Customizing JSON.NET serialization- Get 方法返回 HttpResponseMessage
  2. using JSON.NET in ASP.NET MVC - 显示 ActionResult(我知道这是过时的文章)
  3. Web Api 教程返回业务对象

我想知道什么时候退货的准则是什么?

谢谢。

【问题讨论】:

    标签: asp.net-mvc-4 json.net


    【解决方案1】:

    这一切都取决于您的要求。

    当您返回 HttpResponseMessage 时,它​​为您提供了返回带有自定义消息的 HttpStatusCode 的选项。

    例如,在您的应用程序中,您正在通过 web api 保存一些东西(例如,一个新客户)。您也可以很容易地将该对象与消息一起返回,并且您根本不必担心返回类型(json 或 xml)。这也将是您第三点的答案。这是在 web api 中将业务对象发送到前端的更好方法。

    作为对第 3 点的回答,请查看此博客文章以获取更多信息。 http://blogs.msdn.com/b/yaohuang1/archive/2012/10/13/asp-net-web-api-help-page-part-2-providing-custom-samples-on-the-help-page.aspx

    在返回 HttpResponseMessage 的 web api 操作中,返回代码如下所示。

    return Request.CreateResponse<Customer>(HttpStatusCode.Created, newlyCreatedCustomer);
    

    第二篇文章没有提到任何关于 web api 的内容。如果您想在控制器操作中执行此操作,它会显示一种返回 json 数据的方法。

    【讨论】:

    • 我看到返回 HttpResponseMessage 不允许进行良好测试的意见......我同意因此方法可以返回 HttpResponseMessage 内的几乎任何东西......你怎么看?
    • 是的,为返回 HttpResponseMessage 的操作编写测试有点棘手,因为它需要很多配置。请看一下这篇博文,它会有所启发peterprovost.org/blog/2012/06/16/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多