首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用DDD来构建你的REST API不是CRUD

REST围绕着资源这个概念构建的,然后用URI来表示。然后一个HTTP动词和资源URI组合起来对指定资源进行HTTP调用来执行操作。...让我们来谈谈U.通用更新方法允许客户端更新资源的任何字段,然后使用新版本覆盖现有版本。但是,如果允许客户端执行这样的操作,您的服务API在其使用的任何底层数据存储之上,所能提供的价值其实是很小的。...首先,客户端不应该调用一个API,然后就把账户余额更新为他们想要的数量,这不是乱套了吗?!帐户可能有最低余额。...我已经发现一些团队就是这样做的,他们的代码试图推断客户端究竟把哪些字段改变了,代码最终就是一团糟。 那有什么办法呢?就个人而言,我是领域驱动设计(DDD)(设计任何类型的API)的超级粉丝。...当然,并不是说你必须使用DDD来设计你的REST,但是,由于REST资源可以很好地映射到DDD实体,因此我发现设计REST API特别适合使用DDD。 那么这是什么意思?

2.1K50
您找到你想要的搜索结果了吗?
是的
没有找到

Elasticsearch中的模板:定义、作用与实践

例如,可以指定字段的数据类型、分析器、是否索引等。 注册模板:将定义好的模板文件通过Elasticsearch的API注册到集群中。...number_of_replicas": 2, // 设置每个主分片的副本数为2 "analysis": { "analyzer": { "product_name_analyzer": { // 自定义分析器用于产品名称字段..."product_name_analyzer", // 使用自定义分析器 "fields": { "keyword": { // 为产品名称字段添加一个keyword...步骤2:注册复杂 使用Elasticsearch的REST API将复杂模板注册到集群中: curl -X PUT "localhost:9200/_template/product_catalog_template...术因分享日新,每获新知,喜溢心扉。 诚邀关注公众号 『 码到三十五 』 ,获取更多技术资料。

20110

woocommerce shortcode短代码调用

ASCDESCorderbyASC class– 添加 HTML 包装类,以便您可以使用自定义 CSS 修改特定输出。 on_sale– 检索打折产品。不得与 或 一起使用。...products limit="4" columns="4" orderby="id" order="DESC" visibility="visible"] 场景 5 – 特定类别 我只想展示连帽衫和衬衫,不是配饰...meta字段对产品进行排序 使用产品简码时,您可以选择按上述预定义值订购产品。...您还可以使用以下代码按自定义字段对产品进行排序(在本例中,我们按价格对产品进行排序): add_filter( 'woocommerce_shortcode_products_query', 'woocommerce_shortcode_products_orderby...---- woocommerce短代码常见问题  变体产品 SKU 未显示 关于 SKU 短代码的使用,例如,变体产品 SKU 不打算单独显示,不是父变量产品 SKU。

10.8K20

Lighthouse的跨境电商独立站秘籍!

5 关于中文 关于中文的设置,包含两个方式,其效果也不一致: 站点语言 假如将站点语言修改为中文,意味着管理员看到的页面和访客看到的页面都会是中文,这显然不是管理员想看到的情况,他们面向的可是海外访客。...但都设置为英文,在后台的操作将举步维艰,要解决这个问题,就要了解如何只修改后台的语言,不影响访客看到的部分。...以使用模板添加为例: 选择产品模板类型,包括实物产品、数字产品以及变体产品(变体产品支持设置多样的产品属性,例如颜色、尺寸、材质等); 编辑产品信息(以实物产品为例)包括产品名称、产品描述、产品类型、产品价格...如果购买的主题是压缩包格式(比如zip),可以在管理后台上传主题压缩包: 安装完成后可以在主题页面中看到,点击启用即可完成初始化: 启用后,可以在管理后台的【外观】-【自定义】中对主题进行DIY:...第一步,首先需要申请一个证书,一般来说免费证书就够用了,申请完成后,将下载好的证书上传至服务器,本着简单的原则,这里推荐使用SCP命令上传下载的证书,命令如下(注意,这个命令是在你自己的电脑上运行的,不是在购买的服务器上

14.4K10

Lighthouse: WooCommerce

选购域名域名的作用一句话概括就是,避免访客需要记住一串字面上毫无意义的数字(例如:12.57.187.234)才能访问到网站,如果是 myshop.com 是不是就容易多了。...图片设置中文关于中文的设置,包含两个方式,其效果也不一致:站点语言假如将站点语言修改为中文,意味着管理员看到的页面和访客看到的页面都会是中文,这显然不是管理员想看到的情况,他们面向的可是海外访客。...图片但都设置为英文,在后台的操作将举步维艰,要解决这个问题,就要了解如何只修改后台的语言,不影响访客看到的部分。...以使用模板添加为例:选择产品模板类型,包括实物产品、数字产品以及变体产品(变体产品支持设置多样的产品属性,例如颜色、尺寸、材质等);编辑产品信息(以实物产品为例)包括产品名称、产品描述、产品类型、产品价格...如果购买的主题是压缩包格式(比如 zip ),可以在管理后台上传主题压缩包:图片图片安装完成后可以在主题页面中看到,点击启用即可完成初始化:图片启用后,可以在管理后台的【外观/自定义】中对主题进行 DIY

9.1K179

8个woocommerce支付网关插件推荐

WooCommerce允许网站所有者添加产品,数字商品,甚至订​​阅(取决于您已安装的WooCommerce扩展)。但是,对于WooCommerce包含的所有强大功能,仅内置了一些默认付款选项。...虽然这绝不是WooCommerce的每个付款网关选项的完整列表,但我们尝试涵盖了大多数主要选项。希望您在下面找到适合您的客户的WooCommerce付款网关插件!...WooCommerce Stripe还具有Web Payments API支持,该功能使客户通过移动支付渠道向公司所有者付款。 2....加上FONDY,您甚至可以自定义商户门户并将其添加到商户门户中,以使结帐过程变得无缝。不去爱的种种? 3....然后,该插件将在客户完成交易时向其显示自定义的“谢谢”消息。 5. Square by WooCommerce 通过Square,可以轻松快捷地从客户那里付款。

6.6K00

一文说透WordPress的自定义文章类型

这个版本发布了很多重要的功能,比如多站点、主题API等等,其中一个就是 Custom Post Type(自定义文章类型)。...自定义文章类型(Custom Post Type)也不是自定义字段(custom fields)的替代品。...实际上自定义字段是作为内容的一部分或补充相关功能,比如一个内容类型为电影的自定义字段可以有很多:导演、演员、风格、海报等等等。...如果你是一个开发者,服务的用户群体是特定行业的从业者,他们不一定懂代码,也不一定能搞清楚文章、页面等等之间的区别,那么最简单的方法就是为他们量身打造一套自定义文章类型和发布流程,让工具去适应用户,不是让用户去适应内容...WooCommerce自定义类型就是Products,也有相应的编辑后台和分类,统统都帮你做好了,直接使用就可以了。

1.8K00

塔秘 | 网站访问速度不够快?快收藏SQL 查询优化技巧

我们使用WooCommerce和定制版的WooCommerce软件插件来运行我们的插件商店。此查询的目的是获取那些我们知道客户号的客户的所有订阅。...WooCommerce是一个稍微复杂的数据模型,即使订单以自定义的类型存储,用户的ID(商店为每一个用户创建的WordPress)也没有存储在post_author,而是作为后期数据的一部分。...我们是不是可以在需要的时候抓取客户的数据?如果是那样,那我们就只需要加入一次。...如果您有大量数据和许多不同的自定义帖子类型,WordPress可能会在wp_posts表上减慢查询速度。...如果您发现查询的帖子类型较慢,那么可以考虑从自定义帖子类型的存储模型移动到自定义表格中 - 更多内容将在后面的文章中介绍。

4.8K50

提升网站访问速度的 SQL 查询优化技巧

我们使用WooCommerce和定制版的WooCommerce软件插件来运行我们的插件商店。此查询的目的是获取那些我们知道客户号的客户的所有订阅。...WooCommerce是一个稍微复杂的数据模型,即使订单以自定义的类型存储,用户的ID(商店为每一个用户创建的WordPress)也没有存储在post_author,而是作为后期数据的一部分。...解决 你应该避免这种全部表浏览的查询,因为他使用非索引字段order_id去连接wp_woocommerce_software_licences表和wp_posts表。...我们是不是可以在需要的时候抓取客户的数据?如果是那样,那我们就只需要加入一次。...如果您发现查询的帖子类型较慢,那么可以考虑从自定义帖子类型的存储模型移动到自定义表格中 – 更多内容将在后面的文章中介绍。

6K100

安息吧 REST API,GraphQL 长存

尽管这并不是拿来与 REST API 作比较的一个重点 - 因为这很容易实现, GraphQL 运行时提供了一种结构化和标准化的方式。 ?...例如,客户端不能指定为该资源中的记录选择哪些字段。这意味着 REST API 服务将始终返回所有字段不管客户端实际需要哪些。GraphQL 针对这个问题定义的术语是超量获取不需要的信息。...上面提到的 REST API 的问题正是 GraphQL 试图要解决的问题。它们当然不是 REST API 的所有问题,我也不想讨论 REST API 是什么。...我主要讨论的是比较流行的基于资源的 HTTP 端点 API。这些 API 中的每一个最终都会变成一个具有常规 REST 端点 + 由于性能原因而制定的自定义特殊端点的组合。...本质上,我们可以添加新的字段不需要删除旧的字段,因为我们有一个图,并且我们可以通过添加更多的节点来灵活地扩展图。因此,我们可以在图上留下旧的 API,并引入新的 API不会将其标记为新版本。

2.7K30

WordPress 小程序 API 插件,连接微信、QQ、百度、头条小程序

虽然基于 WordPress REST API 扩展,但是大部分 API 还是采用自定义不是 WordPress 原生的 REST API 。...由于原生的 REST API 有很多功能并不是小程序所需要的,所以在插件里增加了屏蔽低频的 WordPress REST API 。...自定义API 占了一半, WordPress REST API 则保留了常用且高频的 API 。 WordPress REST API 小程序插件的功能 1....API 字段 14.提供是否开启小程序评论审核选择 15.提供是否开启小程序留言反馈选择 16.支持自定义文章类型,创建话题/活动文章类型,类似小论坛功能,提供是否开启小程序话题讨论选择。...17.提供是否开启小程序话题发表选择,默认关闭小程序话题发表入口 18.提供是否开启文章输出上一篇及下一篇选择 19.支持解析腾讯/抖音/微博视频地址解析,提供是否开启小程序视频/音频内容选择,采用自定义字段填写视频地址

80810

划重点!必备 SQL 查询优化技巧,提升网站访问速度

我们使用WooCommerce和定制版的WooCommerce软件插件来运行我们的插件商店。此查询的目的是获取那些我们知道客户号的客户的所有订阅。...WooCommerce是一个稍微复杂的数据模型,即使订单以自定义的类型存储,用户的ID(商店为每一个用户创建的WordPress)也没有存储在post_author,而是作为后期数据的一部分。...我们是不是可以在需要的时候抓取客户的数据?如果是那样,那我们就只需要加入一次。...如果您有大量数据和许多不同的自定义帖子类型,WordPress可能会在wp_posts表上减慢查询速度。...如果您发现查询的帖子类型较慢,那么可以考虑从自定义帖子类型的存储模型移动到自定义表格中 - 更多内容将在后面的文章中介绍。

4.8K80

说说 WooCommerce 插件

明月其实很早的时候就接触和体验过WooCommerce插件了,严格意义上来说WooCommerce应该是WordPress平台下开源电子商务解决方案才比较确切些,也就是说WordPress+WooCommerce...说说WooCommerce插件 首先,WooCommerce由Automattic(WordPress.com和Jetpack的创建者)开发并提供支持。...WooCommerce依托于WordPress生态圈,结合WordPress主题、插件的资源优势可以被组合出各种呈现形式的在线商城,近几年比较流行的外贸商城大多都是WordPress+WooCommerce...,用户端的体验效果也非常的棒,配套的API几乎完美。...当然,能不能实施和回报涉及运营管理层面了就不是本文范畴了。 好了,今天的说道就到这里了,如果对WooCommerce电子商务解决方案有兴趣,可以发表评论哦,我们一起探讨、学习嘛,谢谢大家的支持!

1.8K30

用 GraphQL 查询你的 Django 应用

先来看看 wikipedia: GraphQL 是一个开源的,面向 API 创造出来的数据查询操作语言以及相应的服务端运行环境。...同时,REST 通常都是由后端开发者主动封装, GraphQL 则是由前端主动拼装。 所以如果面对的场景是前端需求复杂多变,GraphQL 肯定比 REST 更适合快速迭代。...vs 扩展的 REST 协议 (此小节中图片拷贝自网络,懒得画) 和 REST 一样,GraphQL 并不是什么开发框架,它只是定义了一种通用型查询的 DSL。...在 REST 基础中,我们增加了 fields 参数,并在 DRF Serializer 里做了特殊处理(你可以点击查看源码),实现的具体效果: # 查询 comment,并限制结果返回字段 /api/...在 REST 中,为了这个需求我们可能会额外为 /users 增加一个参数 with_comments # 查询 users,并限制结果返回字段 /api/users?

2K60

Sentry 开发者贡献指南 - Django Rest Framework(Serializers)

from rest_framework import serializers from sentry.api.serializers.rest_framework import ValidationError...因此,例如,如果我有一个字段名称 typeName,验证方法名称将是 validate_typeName, 如果我有一个名为 type_name 的字段,验证方法名称将是 validate_type_name...另一种方法使用了更多的 Django Rest Framework 的特性, ModelSerializer from rest_framework import serializers from sentry.api.serializers.rest_framework...get_attrs 方法 当 Django Rest Framework 具有类似功能时,为什么要这样做? get_attrs 方法就是原因。它允许您执行批量查询不是多个查询。...在我们的示例中,我可以过滤我想要的 item,并使用 python 将它们分配给相关 item, 不是调用 ExampleTypes.objects.get(...) 多个 item。

1.1K30

WordPress开源微信小程序分享

关于开发 虽然基于 WordPress REST API 扩展,但是大部分 API 还是采用自定义不是 WordPress 原生的 REST API 。...由于原生的 REST API 有很多功能并不是小程序所需要的,所以在插件里增加了屏蔽低频的 WordPress REST API 。...自定义API 占了一半, WordPress REST API 则保留了常用且高频的 API 。 如何通过 API 查看数据是否输出正常呢?...API 字段 14.提供是否开启小程序评论审核选择 15.提供是否开启小程序留言反馈选择 16.支持自定义文章类型,创建话题/活动文章类型,类似小论坛功能,提供是否开启小程序话题讨论选择。...17.提供是否开启小程序话题发表选择,默认关闭小程序话题发表入口 18.提供是否开启文章输出上一篇及下一篇选择 19.支持解析腾讯/抖音/微博视频地址解析,提供是否开启小程序视频/音频内容选择,采用自定义字段填写视频地址

2.8K70

简化 Django 开发的八个 Python 包 | Linux 中国

我们为 Django 应用准备了六个包,为 Django 的 REST 框架准备了两个包。几乎所有我们的项目里,都用到了这些包,真的,不是说笑。  ...(需要注意的是,这种方法创建的是普通 Django 表单,不是模型表单。)◈   notes 输出你项目里所有带 TODO、FIXME 等标记的注释。  ...处理 Django REST 框架的用户认证:django-rest-auth  如果 Django 开发中涉及到对外提供 API,你很可能用到了 Django REST Framework[22](DRF...Django REST 框架的 API 可视化:django-rest-swagger  Django REST Swagger[23] 提供了一个功能丰富的用户界面,用来和 Django REST 框架的...django-rest-swagger 从 API 视图中的 docstrings 生成每个端点的文档,通过这种方法,为你的项目创建了一份 API 文档,这对你,对前端开发人员和用户都很有用。

2.9K20
领券