问题标签 [katharsis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何以编程方式创建针对不同响应 URL 的 ServletRequest?
为您提供背景知识,在收到请求后,我们希望提取有效负载以及请求 URI、查询参数等其他信息,并将其作为消息放入消息队列中。然后另一个服务将选择消息并调用 Katharsis,以便适当的控制器处理请求。这是为了创建一个异步处理机制。
现在要手动调用 Katharsis,我们需要实现KatharsisInvokerContext
需要创建HttpServletRequest
和HSResponse
. 但是,由于这发生在服务器中,我们希望响应返回原始请求者。
有谁知道如何做到这一点,或者我们是否做错了?我愿意接受建议。
我们正在使用Spring Boot、Katharsis-core 2.0.1和Katharsis-spring 2.0.3。
java - 修改 kathasis json 响应
我正在使用带有弹簧靴的 kathasis。我想用我的表 PK 列名更改 json 响应中的 'id' 键,以下是 kathasis 响应
我想将上面的“id”:“A”更改为“coulmnName”:“A”。
unit-testing - 使用 MockMvc 和 Mockito 测试 Katharsis JsonApi
我想测试我的 Katharsis ResourceRepository (katharsis-spring 2.1.7) 配置的行为:
我想以与使用普通 Spring 控制器类似的方式对其进行测试,使用 Mockito 模拟数据库存储库并使用 MockMvc:
显然,这段代码不起作用,因为我的 Katharsis UserResourceRepository 并不是真正的控制器。到目前为止,我已经(从日志中)了解到它实际上使用了一些过滤器映射和名为 io.katharsis.spring 的类。KatharsisFilterV2。
有没有办法使用 MockMvc 进行这样的测试?如果没有 - 有没有其他方法可以在不启动整个服务器(使用模拟)的情况下测试它?
katharsis - 保存资源时访问 kathasis 中的修改属性
当我在我的 kathasis 存储库中实现一个用 @JsonApiSave 注释的方法时,我得到一个完全填充的资源作为参数,即使 PATCH 请求只发送一个属性。有没有办法可以找出哪些属性已更新?
katharsis - kathasis 资源中的动态属性
是否可以使用地图来指定 kathasis 模型类中的属性。我尝试添加带有注释 @JsonAnyGetter 的 Map 属性,但这只是将地图包含为属性,而不是指定属性本身。
java - Katharsis Json Api 限制 PATCH
我在我的 Spring Boot 服务器中使用 Katharsis 库来自动构建 JSON-API 接口。
假设我有一个端点(资源)/资源,我想为此提供 POST 方法(以创建新资源)但限制 PATCH(以限制资源更新)。同时,io.katharsis.repository.ResourceRepository 只提供了 save() 方法,它同时适用于 POST 和 PATCH。
我目前唯一的想法是向 FilterChain 添加另一个过滤器,这将不允许 PATCHing 所需的端点。
有没有更好(即更短或更优雅)的方法来实现这一点?
java - kathasis 非基元序列化集合
尝试使用 kathasis 序列化非原始类型的集合,但总是得到一个空集合。
响应示例:
预期响应:
领域对象(getter、setter、构造函数和其他使用 lombok @Data 注解省略的东西):
在这种情况下,我不想使用关系或将属性包含到“包含”字段中。在kathasis有可能吗?
spring - Katharsis 安全性 + API 版本控制
我目前正在评估可能性,如何编写/生成 level2+ REST API。我遇到了 karharis,我非常喜欢这个概念以及它的完成方式对我来说听起来很合理的整个想法。但我还没有找到这些问题的答案:
- 如何正确处理安全问题。我可以想象它可能会变得棘手,因为 JSON api 在某种程度上支持遍历。(out app会在spring环境下运行,所以我想我们可能会使用spring-security,但不知道会不会遇到一些隐藏的陷阱)
- API 版本控制。我还没有找到任何线索来处理 API 演化。是否有任何已经支持的选项(内容协商、路径变量、查询参数......?)还是我们需要自己破解它?
提前致谢!
java - 如何在 kathasis 中获取分页资源链接
我正在尝试进行分页。我有什么工作,但我对获取资源 URL 的方式有些怀疑。
在我的 Resource Repository 中,我以 Lazy 方式注入 ResourceRegistry(我知道这是一个循环依赖项)以获取我的 Resource 的 URL,然后我用它来生成我的链接。
它工作正常,但循环依赖困扰着我。是否有一些静态类来获取资源 URL。或者也许有一种完全不同的方法来解决这个问题?
katharsis - Katharsis 查询参数功能
我的团队正在尝试使用 Katharsis 的查询参数,发现除了表示层之外,它们似乎真的没有做任何事情。
基本上我想使用包含的参数来侧加载数据,但是如果我不使用所有关系数据填充返回的资源类(例如项目与任务有很多关系),则响应中不会返回任何内容。
我想知道目前是否有任何代码使用 include 参数并对资源类进行智能搜索并调用适当的关系 repo?这将节省开发人员在需要填充 @JsonApiToOne 和 @JsonApiToMany 字段时手动注入关系存储库的时间
一个例子是当它被称为 projects/123/?include[projects]=tasks
ProjectToTasksRepo 方法 findManyTargets 将被 Katharsis 神奇地调用并填充资源项目->任务对象