问题标签 [micronaut-rest]

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.

0 投票
1 回答
214 浏览

java - 从反应堆通量返回的错误变得无限

我已将 Micronaut 应用程序从 2.5.XX 更新到 3.0.0。根据 Micronaut 文档,项目 reactor 是推荐用于响应式编程的响应式库。

当我卷曲终点时curl -X 'GET' 'http://localhost:8081/product/search/ffff' -H 'accept: application/json',它会走向无限。

由于我在系统上有错误,所以 returnFlux.error(new GlobalException(throwable));应该返回 500 内部系统错误,但是,它进入了无限

我已经集成了rabbitMQ,并且rabbitMQ 生产者已关闭。iProductManager.findFreeText(text)由于 rabbitMQ 生产者未运行,因此引发异常。它应该抛出一个异常并且应该调用全局错误处理,而不是无限。但是没有按预期工作

此方法永远不会因错误而被调用。

日志

0 投票
0 回答
91 浏览

entity - Micronaut 3.0.3 中的 GormEntity 问题

我有一个使用 hibernate-gorm 构建的简单 micronaut 3.0.3 应用程序。

尝试发送这样的 GET 请求时出现以下错误http://localhost:8080/?commentId=1

此代码适用于 Micronaut 版本 2.5.12。我搜索了有关此的迁移指南,但找不到有关该部门任何更改的任何提及。

邮政指令:

后控制器:

删除所有设置器或仅删除字符串类型的设置器时,它可以工作。

这是任何感兴趣的人的github链接。

任何的意见都将会有帮助。

0 投票
1 回答
55 浏览

micronaut - 流文件阻塞事件循环?

micronaut 2.0.1 中的项目具有公开某些资源的功能。资源通过 HTTP 与来自另一个服务的 InputStream 一起流式传输。

不幸的是,应用程序会重新启动,因为运行状况端点返回的速度不够快。

StreamedFile通过互联网返回文件时是否有可能阻止事件循环?在本地一切正常。


编辑:

我想我找到了返回字符串文件的解决方案,但不幸的是,它的速度要慢得多。

我仍然不明白如何正确流式传输字节资源。

0 投票
1 回答
191 浏览

java - 如何在 micronaut 应用程序中禁用 http 服务器

我有一个 micronaut 应用程序,它应该在一个容器中运行 SQS 侦听器,在另一个容器中运行常规 HTTP 服务器。如何通过配置实现这一点?我可以使用以下应用程序属性来启用/禁用侦听器:

如何启用/禁用 Web 服务器?

PS:我能够在 Spring Boot 中使用spring.main.web-application-type=NONE. 但我无法在 micronaut 中找到相关设置。

0 投票
1 回答
330 浏览

java - 在 Micronaut 过滤器中向传入请求添加标头

我正在编写一个服务,目前需要实现自己的 JWT 令牌验证。这稍后将由服务之前的一层处理。

为此,我打算使用HttpServerFilter接口拦截请求:

HttpFilter界面说明:

要修改请求过滤器,可以包装它(使用 io.micronaut.http.HttpRequestWrapper 或按原样沿链传递

所以我尝试用这个类包装请求:

但是,mutate上述两种方法都在HttpRequest接口中使用相同的默认实现:

该文档指出过滤器支持请求的修饰和响应的修改。这里的装饰和修改有什么区别?

我想要的最终结果是我想解析一个 JWT 令牌,确保它是有效的,然后将一个字段从令牌添加到一个新的标头中,并通过以下方式从控制器中检索该标头:

如何使用 Micronaut 过滤器实现这一目标?

0 投票
1 回答
66 浏览

kotlin - Micronaut-Core:如何创建动态端点

简单的问题。是否可以在没有 的情况下创建端点@Endpoint?我想通过文件并根据其上下文的内容创建相当动态的端点。

谢谢!


更新我的想法。我想创建一个插件系统之类的东西,以使我的应用程序更易于维护和未来的功能。

值得一提的是,我正在将 Micronaut 与 Kotlin 一起使用。现在我有固定定义的端点,它与我的命令脚本相匹配。

我的描述文件将在/src/main/resources

在此处输入图像描述

我有以下示例描述文件它的外观。

我想让它如何与应用程序一起工作。

0 投票
0 回答
150 浏览

java - 在这里,我尝试使用 micronaut 微服务进行简单的 CRUD 操作。但是遇到一些错误

我正在尝试使用 java 中的 micornaut 微服务进行一些粗略的操作。但是遇到这个错误,请如果有人可以帮助我。

POM 文件 -

服务 - 服务接口

服务实施

应用程序.yml 文件

所以我附上了程序中使用的所有依赖项和其他文件。如果有人可以提出更好的方法来解决这个问题。

0 投票
1 回答
227 浏览

kotlin - 使用 micronaut 验证来自其他模块的模型会给出“没有 bean 自省存在”。

当我尝试将 POST 方法主体中的对象发送到 micronaut 应用程序时,我得到: 模型:无法验证 com.example.Model。不存在 bean 自省。请将@Introspected 添加到类并确保启用了 Micronaut 注释处理

该项目的结构包括两个模块mainmodel。主模块依赖于模型模块。

主模块包含DefaultTestController类:

它的build.gradle.kts文件如下所示:

模型模块包含:

  1. 型号类:
  1. 子模型类:

它的build.gradle.kts文件如下所示:

gradle.properties文件

当我将模型模型移动到模块时,一切都按预期工作。当我从DefaultTestController@Validated中删除和@Valid注释时,它也可以工作,但电子邮件未经过验证。

我尝试了添加和删除各种依赖项的许多不同可能性(例如,此处描述:Validating the POJO record with Micronaut not working and Cannot validate view.model.product.ProductSearchCriteria. No bean introspection present. Please add @Introspected to the class)但没有按预期工作。有人可以看看并帮我解决这个问题吗?

编辑:这是带有代码示例的存储库:github.com/stefanik36/Micronaut-Introspection-Problem。它包含src/test/kotlin/com/example/DefaultTestControllerTest.kt将在ModelSubModel类移动到主模块时通过的测试。

0 投票
1 回答
100 浏览

java - 在 Micronaut 中使用 JWT 令牌验证进行休息端点单元测试

使用 micronaut 创建受 micronaut-jwt 安全保护的休息端点

安全模型

安全规则

上述端点受声明保护ownercreator并且maintainer

我正在使用身份服务器 4 ( https://github.com/IdentityServer/IdentityServer4 ) 来管理身份,并且当用户登录时,它在访问令牌中包含以下声明

上面的终点是寻找那些属性

对于运行真正的应用程序,它运行良好。我正在尝试使用 micronaut httpclient 编写测试用例。但不确定如何使用 micronaut 测试框架进行测试

我试过的东西

它创建一个令牌,但不包含上述访问令牌所需的所有验证。

我们如何在 micronaut 中进行受 JWT 令牌保护的休息端点单元测试

身份验证提供程序

0 投票
1 回答
44 浏览

micronaut - 在 micronaut 中 Spring 的 @WebMvcTest 等价物

我怎样才能在@MicronautTest 中只运行控制器而不运行存储库/服务,只像在春天@WebMvcTest那样模拟它们?

所以我可以用这种方式测试它

来自https://www.baeldung.com/spring-boot-testing的示例