0

我目前正在.NET 中实现一个 Web API 项目,我使用标准 RESTful 路径通过控制器对我的模型执行 CRUD 操作。为了这个问题,让我们假设我有一个“产品”模型。

例如,当我调用 GET .../api/product/5 时,我可以成功地将呈现为 XML 的特定产品返回给请求者,只需按照约定在控制器的 GetMessage 方法中返回相关的 Product 对象. 对象的序列化“自动”发生。

现在,如果我只是渲染 Product 对象的属性,这可以正常工作。但是现在,我在 Product 中定义了一个方法来进行一些计算。我还想在 XML 中返回这个值。(对于接收端,它将显示为另一个字段 - 接收者不会知道这是一个计算字段,而不是从数据库读取的属性字段)我如何获得方法中计算的值也包含在响应 XML?

4

1 回答 1

0

如何获得方法中计算的值也包含在响应 XML 中?

而不是从您的方法中返回一个Product实例,而是设计一个视图模型:

public class ProductViewModel : Product
{
    public string SomeCalculatedField { get; set; }
}

然后在设置计算字段后从操作中返回此视图模型。

作为从Product类派生的替代方法,您可以将其作为属性:

public class ProductViewModel
{
    public Product Product { get; set; }
    public string SomeCalculatedField { get; set; }
}
于 2013-10-02T07:51:44.420 回答