首页 > 解决方案 > 使用 WebAPI 和返回模型

问题描述

例如,我有一个 API 端点,它返回以下模型:

public class DeviceDisplayAPI
{
    [JsonProperty(PropertyName = "id")]
    public string Id { get; set; }
    [JsonProperty(PropertyName = "online")]
    public bool Online { get; set; }
    [JsonProperty(PropertyName = "name")]
    public string Name { get; set; }
    [JsonProperty(PropertyName = "batteryLevel")]
    public int BatteryLevel { get; set; }
    //....
}

我想在不同的项目中使用这个 API。我是要创建这个模型的副本还是可以像使用 WSDL 一样自动“下载”这个模型?

标签: asp.net-coreasp.net-web-apiasp.net-core-webapi

解决方案


一般来说,API的使用者,即使是你自己的项目,也应该对API的实现细节一无所知,包括像这样的类。JSON 响应是一个契约,如果需要,客户端应该简单地创建它自己的表示。

但是,鉴于消费者也是您的项目,如果您愿意,您可以通过简单地将其放入 API 和客户端都可以引用的类库来共享它。不过,我仍然鼓励您将两者分开。API 是反腐败层的一种形式。重点是调解客户端和后端之间的通信,它们将使用两种不同的域语言。


推荐阅读