asp.net-core - 使用 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 一样自动“下载”这个模型?
解决方案
一般来说,API的使用者,即使是你自己的项目,也应该对API的实现细节一无所知,包括像这样的类。JSON 响应是一个契约,如果需要,客户端应该简单地创建它自己的表示。
但是,鉴于消费者也是您的项目,如果您愿意,您可以通过简单地将其放入 API 和客户端都可以引用的类库来共享它。不过,我仍然鼓励您将两者分开。API 是反腐败层的一种形式。重点是调解客户端和后端之间的通信,它们将使用两种不同的域语言。
推荐阅读
- java - java io FileNotFoundException
- r - 使用 geom_circle 修复边界效果
- php - 如何正确显示数据库中的图像?
- react-native - EXPO:未捕获的错误:未定义不是对象(评估's.STANDARD_EVENT_ADD_TO_CART')
- javascript - 在页面的特定部分添加块
- php - 获取数组中的最小值并包含重复项
- java - 在 For each 中使用 Lambda 和 Streams 并返回结果
- wordpress - 致命错误:无法在 wordpress 网站的写入上下文中使用函数返回值
- mysql - 有没有办法使用 python 脚本向托管数据库发送/插入值?
- angular - 如何从compodoc生成的json文件中删除源代码