Moqui开发Rest Api

本文档介绍了如何使用Moqui框架开发REST API,以创建一个名为Shop的目录,包括设置数据目录、服务目录以及编写Service。通过建立Shop的entity、service目录并配置相关XML文件,实现对产品目录、店铺首页和产品的API访问。同时,讨论了如何在Moqui中管理目录类型和产品价格,并提供了查询首页目录和产品信息的示例代码。
摘要由CSDN通过智能技术生成

Moqui开发Rest Api供电商小程序使用


Moqui是一个很适合用来开发CRM、ERP的框架,用XML来写程序也大大降低开发难度,看看其自带的PopCommerce和PopRestStore例子,照猫画虎,开发起来不算费力。只是感觉其将页面展示与逻辑控制放在一起的写法很不好。好在它也可以用来提供REST接口,最近用Moqui框架开发了一个电商的Rest后台,供小程序和前端网站使用。记录一点经验。

创建目录

在runtime/component下建一个目录,用来放自己的内容。就用Shop命名吧,在该目录下建立以下子目录:

  1. data,用来放demo和setup的data。可以把PopRestStore下的复制过来改就是了,artifactName就是接口的名字。比如命名为shop,则访问路径是:http://localhost:8080/rest/s1/shop;
<entity-facade-xml type="seed-initial">
 <!-- ecommerce authz/permission for ALL users -->
 <moqui.security.ArtifactGroup artifactGroupId="SHOP_API" description="Shop (via root screen)"/>
 <moqui.security.ArtifactGroupMember artifactGroupId="SHOP_API" artifactTypeEnumId="AT_REST_PATH"
         inheritAuthz="Y" artifactName="/shop"/>
 <moqui.security.ArtifactAuthz artifactAuthzId="SHOP_API_ALL" userGroupId="ALL_USERS" artifactGroupId="SHOP_API"
         authzTypeEnumId="AUTHZT_ALWAYS" authzActionEnumId="AUTHZA_ALL"/>
</entity-facade-xml>
  1. entity,如果需要新建自己的表,就需要建立此目录;
  2. service,放一个shop.rest.xml的文件,可以把PopRestStore下的复制过来改就是了。下面再建 一个子目录,命名为shop。以下是shop.rest.xml中Store部分,注意service name里开头的shop指service下的shop目录,如果要发布到linux或BSD之类的服务器上,注意大小写要保持一致。访问路径分别是: http://localhost:8080/rest/s1/shop/store/index 和http://localhost:8080/rest/s1/shop/store/products,有点长。 分别提供store的首页目录、产品目录,也就是电商常用到的。有require-authentication=“anonymous-view”,这些路径就可公开访问,无须登录。如果是购物车、用户中心之类要登录 的页面,不放这句就行;
<!-- Store Services -->

   <resource name="store" require-authentication="anonymous-view">        
           <resource name="index">
                   <method type="get">
                     <service name="shop.StoreServices.get#StoreIndex"/>
                 </method>
           </resource>
           <resource name="products">
                   <method type="get">
                     <service name="shop.StoreServices.get#StoreProducts"/>
                 </method>
             </resource>
      </resource>

写Service

按Moqui的数据模型,一个后台可以管多家公司(party),一家公司可以建多个店铺(store)。登录后台,用PopERP建立一个公司party,再建立store,store可以有ProductStoreCategory,下面包含不同的目录,用storeCategoryTypeEnumId来区分。我们使用其已有的类型即可:

  1. PsctHomePage表示首页目录种类,下面包含滚屏目录、推荐产品、新产品、特色产品、热卖产品、折扣产品等目录。
  2. PsctBrowseRoot表示产品目录,下面包含不同的目录与子目录。

去applications/tools/entities下filter输入Enumeration,再点查找,new value,增加两个目录类型(productCategoryTypeEnumId),Enum ID分别输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值