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

使用Lagom和Java构建反应式微服务系统

通过内置支持具有命令查询责任分离(CQRS)的事件溯源(ES),Lagom倾向于以数据持久性为基础的事件源架构。持续实体是Lagom实施事件溯源。...该接口不仅定义了如何调用和实现服务,还定义了描述如何将接口映射到底层传输协议的元数据。通常,服务描述符,其实现和消费应该与正在使用的传输方式无关,无论是REST,Websockets还是其他传输。...tick服务调用将返回以指定间隔发送消息的源。 Akka流对这样的流有一个有用的构造函数: ? 前两个参数是发送消息之前的延迟以及它们应该发送的间隔。第三个参数是应该在每个刻度上发送的消息。...用于声明主题的语法就像已经定义了服务端点的语法一样。 Descriptor.publishing方法接受主题调用序列;可以通过Service.topic静态方法定义每个主题调用。...为了在Lagom中实现这一点,持久性模块促进了使用事件源(ES)和命令查询责任分隔(CQRS)。事件溯源是将所有更改作为域事件捕获的做法,这是事件发生的不可变事实。

1.9K50

微服务架构之Spring Boot(七十三)

53.7.1接收输入 端点上的操作通过其参数接收输入。通过Web公开时,这些参数的值取自URL的查询参数和JSON请求体。通过JMX公开时,参数将映射到 MBean操作的参数。默认情况下需要参数。...JSON请求正文中的每个根属性都可以映射到端点的参数。...请考虑以下JSON请求正文: { "name": "test", "counter": 42 } 这可用于调用带有 String name 和 int counter 参数的写操作。...如果在没有必需参数的情况下调用操作,或者使用无法转换为所需类型的参数,则不会调用操作方法,并且响应状态将为400(错误请求)。 Web端点范围请求 HTTP范围请求可用于请求HTTP资源的一部分。...Servlet端点提供与 Servlet容器更深层次的集成,但代价是可移植性。它们旨在用于将现有的 Servlet 作为端点公开。

2.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Elasticsearch:从 ES|QL 到 PHP 对象

    从 elasticsearch-php v8.13.0 开始,您可以执行 ES|QL 查询,并将结果映射到 PHP 的 stdClass 对象或自定义类。...根据建议的映射,在 Elasticsearch 中的索引大小约为 62 MB。映射到对象或自定义类我们可以使用 esql()->query() 端点在 PHP 中执行 ES|QL 查询。...ES|QL 中所有支持的类型列表在 这里。$result 响应对象可以作为数组、字符串或对象访问(有关更多信息,请参见此处)。使用对象接口,我们可以使用属性和索引访问值。...请记住,在 PHP 中数组的索引从零开始。这种接口对于某些用例可能已经足够了,但大多数情况下,我们希望将结果映射为对象数组。...mapTo() 函数将仅使用 ES|QL 结果中返回的属性。您可以在 这里 下载本文中提到的所有示例。

    26531

    如何使用 Swift 中的 GraphQL

    前言我一直在分享关于类型安全和在 Swift 中构建健壮 API 的更多内容。今天,我想继续探讨类型安全的话题,介绍 GraphQL。GraphQL 是一种用于 API 的查询语言。...本周,我们将讨论 GraphQL 的好处,并学习如何在 Swift 中使用它。基础知识首先介绍一下 GraphQL。GraphQL 是一种用于 API 的查询语言。...通常,后端开发人员或网络服务会为你提供一个模式文件和一个 GraphQL 端点。模式文件包含所有你可以使用该端点进行的类型和查询。让我们来看一个模式文件的例子。...这些类型定义了当前 GraphQL 端点支持的所有查询和变更操作。模式文件还描述了你可以在查询中使用的所有类型的列表。...ApolloGraphQL 为你在项目中定义的查询和变更生成 Swift 类型。它通过自动生成所有样板代码来节省你的时间。

    13122

    尝试使用官方教程学习 GraphQL

    以下是获取 ID 为 0001 的用户信息和其拥有的书籍信息的查询示例:{ user(id: "0001") { # 获取 ID 为 "0001" 的用户 # 获取姓名和电子邮件...需要注意的是,在 Query 类型中定义了用于获取数据的 API。除了 Query 类型,还有用于添加、修改、删除数据的 Mutation 类型,以及用于订阅事件的 Subscription 类型。...graphql express-graphql express @types/express使用 Express 将 GraphQL 服务器映射到 HTTP 终端点的实现示例import express...通过在查询中指定以 $ 为前缀的关键字,并在变量中传递具有相应关键字属性的对象,可以自动转义值并发出查询。...保证非空,因此可以省略服务器的验证。在带有参数的 API 中,参数将作为对象传递给解析器的第一个参数。

    18910

    使用Astro、Qwik 和 Fuse.js构建网站搜索

    更多关于 Paul 的内容可在他的网站 paulie.dev 上找到。 在这篇文章中,我将解释如何利用Astro的内容集合、静态端点以及Qwik与Fuse.js的Astro集成来构建站点搜索。...Astro提供了一种方便的方式来“批量”查询或转换相似类型的内容。在我的演示中,这将适用于所有以MDX格式编写的博客文章。所有博客文章都共享相同的模板或布局和模式。以下是博客文章的模式。...如何查询Astro的内容集合 为了构建站点搜索功能,我首先需要查询所有的博客文章。我使用了一个静态端点来实现这一点。...这些数据提供了我开始构建搜索组件所需的全部信息。 如何查询静态端点 为了构建搜索组件(接下来会介绍!),我首先需要从静态端点查询数据,并将其传递给搜索组件。...fuse.search 可用于过滤数组中不符合配置参数的任何项,并返回一个新数组。我将这个新数组称为“results”。

    13610

    Spring Security OAuth 2开发者指南译

    也就是因为您的提供商配置为支持“客户端凭据”授权类型,并不意味着特定客户端被授权使用该授权类型。...在/oauth/confirm_access端点中,您可以期待AuthorizationRequest绑定到会话中,携带所有需要用户查询的数据(默认的实现是WhitelabelApprovalEndpoint...注意:不要忘记在您为用户呈现的表单中包含CSRF保护。默认情况下,Spring Security正期待一个名为“_csrf”的请求参数(它在请求属性中提供值)。...没有了,您将不得不自己在服务器上管理等效的数据结构,将传入的请求映射到用户,并将每个用户与单独的实例相关联OAuth2ClientContext。...在XML中有一个带有id属性的元素- 这是一个servlet的bean id,Filter在这种@Configuration情况下必须映射为一个DelegatingFilterProxy

    2.1K10

    【译】如何在 Spring 中将 @RequestParam 绑定到对象

    过长的 @RequestParams 列表 无论是 controller 还是其他类,我相信你会同意 过长的方法参数列表很难阅读。此外,如果参数类型相同,则更容易出错。...你将一组参数一起传递给应用程序的不同层次是非常常见的。这组参数通常可以 形成一个对象,你需要做的就是 提取它并给它一个适当的名字。...让我们来看一个用于搜索产品的 GET 端点的示例: @RestController @RequestMapping("/products") class ProductController {...该注解的另一个有用特性是可以将给定参数标记为必填项。如果请求中缺少必填参数,我们的端点可以拒绝它。 要在使用 POJO 时达到相同的效果(甚至更多!)我们可以 使用 bean 验证。...参数绑定也适用于嵌套对象。 下面你可以找到一个例子,将之前引入的排序条件移动到了产品查询条件 POJO 中。 要校验所有嵌套属性,你应该在嵌套对象字段上添加 @Valid 注解。

    60410

    动作入门指南

    请记住你的OpenAPI规范中的以下限制,这些限制可能会改变:API规范中每个API端点描述/摘要字段的最大字符数为300个API规范中每个API参数描述字段的最大字符数为700个OpenAPI规范遵循传统的...要使文件成为POST请求的一部分,参数的名称必须命名为openaiFileIdRefs,说明应该向模型解释你的API预期的文件类型和数量。...items: type: string虽然该模式将openaiFileIdRefs定义为一个字符串类型的数组,但在运行时,它将以前面显示的...内联选项数组的每个元素是一个JSON对象,其中包含:名称 文件的名称。这将对用户可见。mime_type 文件的MIME类型。这用于确定资格以及哪些功能可以访问该文件。...文件的MIME类型确定资格以及哪些功能可以访问该文件。获取每个文件的超时时间为10秒。

    16710

    微服务架构之Spring Boot(三十七)

    要开始使用Jersey,请将 spring-boot-starter-jersey 作为依赖项包含在内,然后需要一个 @Bean 类型 ResourceConfig ,在其中注册所有 端点,如以下示例所示...例如,它无法扫描完全可执行jar文件中的包中的端点,也无法在运行可执行war文件时 扫描 WEB-INF/classes 中的端点。...为避免此限制,不应使用 packages 方法,并且应使用 register 方法单独注册端点,如上例 所示。...所有已注册的端点都应为 @Components ,并带有HTTP资源注释( @GET 和其他),如以下示例所示: @Component @Path("/hello") public class Endpoint...默认情况下,Jersey servlet已注册并映射到 /* 。您可以通过将 @ApplicationPath 添加到 ResourceConfig 来更改映射。

    98010

    实践微服务,第14部分:GraphQL

    这个“Account”字段由一个单一的GraphQL类型“accountType”组成 - 例如我们上面定义的类型。 “Account”定义了两个可用于查询帐户的参数 - id和name。...带有字段和类型的最终模式由我来说可以像这样表示: qzbgko20l5.png 如果我们想要一个返回账户列表的GraphQL查询,可以声明另一个字段,例如: "AllAccounts": &graphql.Field...我们首先指定一个GraphQL查询为一组多行字符串。查询使用了变量、字段选择和传递给quote和events子字段的参数。...这个initQL 函数是我们在第三节中看到过的一个,设置了我们的模式,字段等内容。 我们声明了一个用于将变量传递到查询执行中的String => interface {}映射。...要获得要查询的帐户ID,我将两个帮助程序GET端点添加到端口7070处公开的“dataservice”。

    2.6K40

    详细解读 | 如何让你的DETR目标检测模型快速收敛

    可以看到,4个映射中有2个没有正确地突出对应端点的波段,因此在缩小内容查询的空间范围以精确定位端点方面很弱。...通过将用于回归目标框的信息映射到嵌入空间来预测条件spatial query。...在原始DETR中为(0,0),s为参考点的非归一化二维坐标。在本方法中,作者考虑2个选择:将参考点s作为每个候选框预测的参数学习,或者从相应的目标query中生成它。...Conditional spatial query prediction 通过embedding f和参考点s预测条件空间查询, 以便与key的标准化2D坐标映射到的位置空间对齐。...这里将参考点归一化,然后将其映射到256维正弦位置嵌入,方法与key的位置嵌入相同: 然后通过可学习线性投影+ReLU+可学习线性投影组成的FFN将解码器embedding f中包含的位移信息映射到同一空间中的线性投影

    3.3K30

    大厂都在实践的GraphQL,你了解吗?

    : Person } 在这里,我们有一个类型Person,该类型具有嵌套类型Address .然后,我们提供了一个简单的查询 API,用于根据 id 获取一个Person对象数据。!...表示将参数定义为必需属性。 接下来,让我们使用mutation来添加编辑数据的功能。 input AddressInput { id: String! personId: Int!...这只是为了简单起见, 也可以将人员的创建与地址相结合。为了修改数据,这里必须使用类型定义address字段 为AddressInput类型,这是因为 mutation 仅适用于输入类型。...实现 GraphQL 查询 API 让我们定义用于查询数据的 API。...带有@QueryMapping注释的函数将成为查询的处理程序。 查询名称会自动映射到函数名称,或者使用 @QueryMapping接口的value参数(在本例中为person)显式定义它。

    2.6K40

    批处理 API

    批处理作业通常在以下用例中非常有用:运行评估对大型数据集进行分类嵌入内容存储库批处理 API 提供了一组直接的端点,允许您将一组请求收集到单个文件中,启动一个批处理作业来执行这些请求,查询批处理的状态,...对于给定的输入文件,每行的 body 字段中的参数与底层端点的参数相同。每个请求必须包含一个唯一的 custom_id 值,您可以在完成后使用它来引用结果。以下是一个包含 2 个请求的输入文件示例。...不要依赖顺序来处理结果,而是使用 custom_id 字段,该字段将出现在输出文件的每一行中,并允许您将输入中的请求映射到输出中的结果。...How can I assist you today?"}...from openai import OpenAIclient = OpenAI()client.batches.list(limit=10)模型可用性批处理 API 目前可用于执行以下模型的查询。

    31810

    API OWASP 标准

    ,但不是关于确切错误(堆栈跟踪或错误文本)的非常清晰的普通消息,这可能会将内部实现暴露给 API 使用者 GET: 200 OK 和 items -array 作为空数组 GET:204 空响应,正文中没有任何内容...POST: 200 OK 更新或提交而不创建新资源 201 -response 结合创建资源的标识符 DELETE: 204 OK 删除资源成功时 本土化 带有时区的 UTC 日期和时间格式(ISO...安全的直接对象引用,即 URL 中没有敏感信息(如银行帐号、社会保险号、人名等)作为资源名称或查询参数?...规范包含标准格式的请求和响应示例,API 文档根据规范、模式和示例自动生成 POST, PUT: 201 为创建新资源而创建 来自客户端的 400 个错误请求,例如缺少必需的查询参数 白名单:POST、...具有最长端点层次结构和多个长值查询参数的 GET 请求不超过 2000 的 URI 长度?(一些老客户端和浏览器可能有这种限制,虽然不是官方限制,新客户端可以很好的处理)

    2.6K20

    Spring Security OAuth 2开发者指南

    也就是因为您的提供商配置为支持“客户端凭据”授权类型,并不意味着特定客户端被授权使用该授权类型。...它有两个参数: 端点的默认(框架实现)URL路径 需要的自定义路径(以“/”开头) 由框架提供的URL路径/oauth/authorize(授权端点)/oauth/token(令牌端点)/oauth/confirm_access...注意:不要忘记在您为用户呈现的表单中包含CSRF保护。Spring Security预期默认使用一个名为“_csrf”的请求参数(它在请求属性中提供值)。...没有了,您将不得不自己在服务器上管理等效的数据结构,将传入的请求映射到用户,并将每个用户与单独的实例相关联OAuth2ClientContext。...在XML中有一个带有id属性的元素- 这是一个servlet的bean id,Filter在这种@Configuration情况下必须映射为DelegatingFilterProxy(

    1.9K20

    使用ASP.NET Core 3.x 构建 RESTful API - 3.2 路由和HTTP方法

    ASP.NET Core 3.x 的路由 路由机制会把一个请求的URI映射到一个Controller上面的Action,所以当你发送一个HTTP请求的时候,MVC框架会解析这个请求的URI,并尝试着把它映射到一个...将属性结合URI模板一起使用,就可以把请求映射到Controller的Action上面。 例如: ? 官方文档:路由基础知识。...这里我们使用HTTP的GET方法,如果想获取所有的公司资源,那么请求路径是 api/companies;如果想获取符合查询条件的公司资源,那么请求里就需要一些参数,通常使用查询字符串(query string...xxxxx=something 在这里,参数是在问号?后边,以name=value的形式存在。如果有多个查询参数,它们之间使用 & 符号分隔开。...例如,DELETE api/companies/12 并不意味着id为12的公司信息从数据库中被删除了,也许只是把该公司的信息的状态设置为deleted而已。

    1.3K10

    使用 GraphQL 和 Ballerina 操作多个数据源

    GraphQL 既可以被视为一种 API 查询语言,也可以被视为一种服务器端运行时,用于执行由用户定义的查询。...记录的字段被映射到 GraphQL 对象的字段,记录字段的类型被映射到 GraphQL 对应字段的类型。...服务类型中的每一个资源方法表示 GraphQL 对象的一个字段,资源方法可以有输入参数,这些输入参数被映射到相应字段的参数。...Ballerina 服务可以有资源方法和远程方法,资源方法用于表示 GraphQL 查询类型,远程方法用于表示可变类型。 下一步是加入远程函数或资源函数。...用户可以按照自己需要的格式请求所需的信息,无需指定不同的端点,只需修改查询即可。

    2.4K20
    领券