Php 什么是API映射?
我想从Overstock.comSOFS API中获取我们的库存和订单详细信息,并将其添加到基于PHP和MySQL的web应用程序中。但是他们的集成分析师总是问我你完成映射了吗 我在API集成方面没有太多的经验 到目前为止,我拥有Amazon MWS API的访问凭证,可以 轻松地从他们的系统向我们的PHP发出请求和响应 应用程序 但是对于Overstock.com我很困惑API映射的确切含义是什么Php 什么是API映射?,php,mysql,api,Php,Mysql,Api,我想从Overstock.comSOFS API中获取我们的库存和订单详细信息,并将其添加到基于PHP和MySQL的web应用程序中。但是他们的集成分析师总是问我你完成映射了吗 我在API集成方面没有太多的经验 到目前为止,我拥有Amazon MWS API的访问凭证,可以 轻松地从他们的系统向我们的PHP发出请求和响应 应用程序 但是对于Overstock.com我很困惑API映射的确切含义是什么 有人请给我一点提示让我继续。仅举一个简单映射方案的示例 正如我所说,这是我听到映射时的想法,它们
有人请给我一点提示让我继续。仅举一个简单映射方案的示例 正如我所说,这是我听到映射时的想法,它们可能意味着不同的东西
$data = [
'fname' => 'John',
'lname' => 'Doe',
];
$map = [
'lname' => 'last',
'fname' => 'first'
];
//create a blank array in the order of your mapping
$blank = array_fill_keys(array_keys($map), '');
//order their array to match the blank array, which matches the mapping
$ordered = array_replace($blank, $data);
//merge your keys with the array ordered to match the mapping order
$output = array_combine($map, $ordered);
产出:
Array
(
[last] => Doe
[first] => John
)
你可以看到
请注意,我还特意更改了数组的顺序,以表明顺序无关紧要。这还具有填充任何缺失数据的好处。这方面的一个例子是(使用上面相同的代码):
输出(用引号表示空字符串):
这是一种非常简单、直接的方法,很容易在以后添加新字段。所以我只想和你们分享,这确实是他们的意思
我要补充的唯一一件事是,不要害怕问它们的映射是什么意思。有些术语因地而异。他们能说的最糟糕的是什么,你是个白痴(讽刺,我不是说你只是说他们不太可能这么说)。。。英雄联盟不,他们可能会说您需要将他们的字段映射到您的web应用程序字段。让您使用他们的API通常符合他们的利益,或者使用API有什么意义。因此,他们倾向于帮助您作为他们服务的消费者。通常,映射将把他们提供给您的字段转换为您需要的字段,比如您将名称存储为
fname
,lname
但是它们给你first
和last
,所以你可以将first
映射到fname
和last
到lname
,它们可能意味着其他的东西,但这就是我通常所说的映射。通常我使用这样的数组['fname'=>'first','lname'=>'last']
然后使用array\u key\u intersect
和类似array\u merge
的方法,您可以将它们提供给您的数据转换为您需要的数据。感谢@artisticfenix在这种情况下,无论API的响应如何,我都可以在我们自己的数据库结构中处理它。那么,我应该告诉他我映射了,还是我必须让我的代码在集成过程中随时准备好进行调用?
$data = [
'fname' => 'John',
'lname' => 'Doe',
//middle name data is missing
];
$map = [
'lname' => 'last',
'fname' => 'first',
'mname' => 'middle'
];
Array
(
[last] => Doe
[first] => John
[middle] => ''
)