输入安全网络层2.0

有很多关于使用Swift以安全类型进行网络层的文章。 无论使用哪种网络API,这些方法都依赖于返回正是我们期望的数据类型。 这个想法是利用Swift的类型推断/泛型能力来避免强制转换返回的类型。 在这篇文章中,我们将通过强耦合我们要获取的端点和它必须返回的数据类型来尝试进一步发展。

快速提醒

假设我们要获取“ dog.ceo ”端点之一。 通常从定义路线开始。 枚举对此非常有用:

让我们尝试滥用这种机制:在仍然使用相同端点的同时,我们尝试明确告诉编译器结果是“ Result ”。

如预期的那样,失败fails。 我们确实拥有一个编译时类型的安全网络层😏,并对我们的API进行了少量更改。 很酷。

感谢您的阅读,并随时提供反馈!

敬请关注。