huazi 5年前

修改理由:

"反悔" 应为 "返回"

此投稿已在 5年前 合并。

内容修改:

红色背景 为原始内容

绿色背景 为新增或者修改的内容

OldNewDifferences
1  
21![file](https://iocaffcdn.phphub.org/uploads/images/201901/18/1/YDRLhNQq47.png!large)
32
43对于某些应用程序,可能需要第三方服务或者 API 来提取某些数据,将该数据转换为所需的响应,并将其传送到客户端界面。
 
98
109您或许可能会想『为什么我需要它?』,因为,您不希望在应用程序中公开所有的 API 响应数据,此外,你可能需要转换该响应的某些字段等。
1110
12 在本文中,我将向您展示一种简单的方法,将来自第三方 API 传入的数据转换为应用程序中的资源,以帮您保持一致性。
 11在本文中,我将向您展示一种简单的方法,将来自第三方 API 传入的数据转换为应用程序中的资源,以帮您保持一致性。
1312> 在进一步讨论之前:在这篇文章中,我假设您至少已经基本了解了什么是 API 以及该如何使用 API ,如何使用 Laravel 框架及其某些组件作为 Eloquent ORM 。 如果你不知道上面的文章大概在说明写什么,你可能会发现一些挑战性的概念,但是,嘿,不要气馁,我相信你会发现这篇文章会给你带来一定的价值。
1413
1514### 一些关于 "Laravel resources" 的消息
 
5049
5150您可以通过阅读官方文档了解有关 Resources 的所有信息:[Eloquent: API Resources](https://laravel.com/docs/5.5/eloquent-resources)
5251
53 
 52
5453### 使用第三方 API
5554
5655在使用第三方 API 时,您需要找到一种方法将传入的响应数据转换为结构一致的数据。
 
8988
9089您可以将此响应包装到一个数组中,然后在所有控制器或视图上使用此数据。
9190
92 
 91
9392### 响应格式一致性
9493
95 不妨想一想,如果 WordPress 的 API 更新了怎么办。假如新版本会反悔一个不同格式的数据。
 94不妨想一想,如果 WordPress 的 API 更新了怎么办。假如新版本会返回一个不同格式的数据。
9695
9796```
9897// wordpress version 0.1
 
109108
110109使用中间件来处理响应数据可以确保数据库的一致性。当响应的格式增加时,你只需要更新某段代码即可。
111110
112 
 111
113112### 使用 API 资源批量处理数据
114 
 113
115114
116115
117116正如我之前提到的,你可以使用没有Eloquent的 「Resources」,下面就是一个很好的例子。
 
136135}
137136```
138137
139 
 138
140139
141140### 返回单个资源实例
142141
 
158157
159158```
160159
161 
 160
162161### 返回数据集合
163162
164163我们可以创建一个专用的资源类 「PostCollection」。