# API 资源

如果你用的是Laravel 5.5之前版本，你可以跳过本节，然后移动到357页的"使用Laravel Passport 进行API 认证"。

在过去，我们在Laravel中开发API时遇到的首要挑战之一是如何转换数据。 最简单的API可以将Eloquent对象作为JSON返回，但很快大多数API的需求都会超出该结构。 我们应该如何将我们的Eloquent结果转换为正确的格式？ 如果我们想要嵌入其他资源，或者只是可选地，或者添加计算字段，或者隐藏API中的某些字段而不是其他JSON输出，该怎么办？ 特定于API的变换器是解决方案。

在Laravel 5.5及更高版本中，我们可以访问一个名为Eloquent API资源的功能，这些结构定义了如何将给定类的Eloquent对象（或Eloquent对象的集合）转换为API结果。 例如，您的Dog Eloquent模型现在有一个Dog资源，它负责将Dog的每个实例转换为适当的Dog形API响应对象
