资讯专栏INFORMATION COLUMN

[译]Magento2中使用Web Api

qieangel2013 / 3049人阅读

摘要:今天我开发一个的来分享一下新建一个模块假设我们已经学习过建设模块的前提第一部建设设定模块模块配置然后新建注册模块的备置这里需要建立两个文件和其中用于依赖注入,而用于设定路由和指定方法名称,同时设定访问权限备置我们使用设置,让其可以直接访

今天我开发一个Magento2的Webapi来分享一下

新建一个模块

假设我们已经学习过建设模块的前提
第一部建设module.xml设定模块

模块配置 – etc/module.xml


    


然后新建Registration

注册模块 – registration.php

API 的备置

这里需要建立两个xml文件di.xml和webapi.xml,其中di用于依赖注入,而webapi用于设定路由和指定方法名称,同时设定访问权限

Web API 备置 – etc/webapi.xml


    
        
        
            
        
    

我们使用anonymous设置,让其可以直接访问

注入声名 – etc/di.xml
   
建立接口文件 – Api/HelloInterface.php

新建Model – Model/Hello.php

此处必须在声名方法前加上备注,注明参数类型,不然会报Class does not exist
我就遇上这个坑了后来网上找到:http://magento.stackexchange....
在接口文件加注释声名参数类型后可以正常运行,这我猜测是因为它是基于soap的接口,但php是弱类型命名的,所以在类似WSDL中其他强类型命名的想调用,出于考虑Magento把类型定义放到注释上,但这是一个大坑,我们这些不清楚的人会不知道这个问题

目录结构如下图:

测试Rest Api

Rest Api格式如下:
http://{domain_name}/rest/V1/{method}/{attribute}/{value}.
浏览器直接打开地址如下:
如: http://magento2.loc/rest/V1/h...

浏览器会显示以下结果:

Hello, Jim
SOAP方式访问:
inchooHelloV1Name(array("name"=>"Jim"));
var_dump($result);
SOAP打印结果
object(stdClass)#2 (1) {
  ["result"]=>
  string(10) "Hello, Jim"
}
ACL.XML

若不在WebApi使用anonymous权限,我们需要在etc文件夹新建一个acl.xml文件

如: – etc/acl.xml



    
        
            
                
            
        
    

在这种情况下,我们需要在webapi.xml的resource节点中添加“Inchoo_Hello ::hello”,这种操作后就可以不使用anonymous了。

参考:http://inchoo.net/magento/api...
http://magento.stackexchange....

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22238.html

相关文章

  • []Magento2 高级路由

    摘要:以上是的的目录路由器配置。考虑重写模块以上文件文件使用的操作字符串。例如,如果你想回到第一个模块在这个系列和添加前端端点,所有你需要做的就是添加以下配置和以下控制器文件。默认操作字符串段我们从先进的路由移动之前,有一些最后要提。 今天,我们要介绍的几个Magento的路由系统的高级功能,并讨论一些看似急性锐边的历史。虽然所有在这篇文章中提供的技术可能不是最好的方式来实现自己的目标,作为...

    PumpkinDylan 评论0 收藏0
  • Magento2 自定义后台菜单

    摘要:的属性被定义菜单的位置。较低的值会显示在菜单上。它会告诉这个菜单是那一个菜单的子菜单。您还可以创建更多的子菜单,它会显示类似商店菜单的上方。 今天分享Magento 2开发中一个简单的后台菜单实现过程 后台菜单创建的主要步骤 步骤1:创建menu.xml文件步骤2:编写菜单定义步骤3:更新Magento缓存 步骤1:创建menu.xml文件 创建一个名为admin菜单文件:menu.x...

    Yumenokanata 评论0 收藏0
  • Magento2 自定义后台菜单

    摘要:的属性被定义菜单的位置。较低的值会显示在菜单上。它会告诉这个菜单是那一个菜单的子菜单。您还可以创建更多的子菜单,它会显示类似商店菜单的上方。 今天分享Magento 2开发中一个简单的后台菜单实现过程 后台菜单创建的主要步骤 步骤1:创建menu.xml文件步骤2:编写菜单定义步骤3:更新Magento缓存 步骤1:创建menu.xml文件 创建一个名为admin菜单文件:menu.x...

    zzzmh 评论0 收藏0
  • Magento2 模块下添加自定义JS

    摘要:先看看要做的事自己写的或第三方文件如下位置下添加自己的文件例配置文件添加文件,用于配置引用添加到例这里为后面调用修改模板然后就可以这样调用了目录结构借用别人的图 先看看要做的事 1.自己写的或第三方JS文件 如下位置下添加自己的文件: //view//web/js/ 例://view//web/js/my.js 2.配置文件 添加requirejs-config.js文件,用于配置引用...

    geekzhou 评论0 收藏0
  • Magento2.x 如何创建一个Module?

    摘要:今天记录下如何创建一个,直接进入正题。创建好我们的和之后,接下来就需要创建一系列的文件,我们依次来说每个文件如何创建。 Magento2.x版本已经发布一段时间了,到现在为止已经到2.2了,最新版本可以关注Magento在github上的更新。今天记录下Magento2.1如何创建一个module,直接进入正题。 安装Magento2后,进入项目的根目录后,进入/app目录,只有app...

    bbbbbb 评论0 收藏0

发表评论

0条评论

阅读需要支付1元查看
<