我们用 Scala 3、ZIO 2、ZIO logging 和 Tapir 构建了一个 REST 微服务。 对于特定于上下文的日志记录,我们希望使用 MDC 并在那里设置一个从请求负载中获取的属性。 是否可以访问 DefaultServerLog 中的请求有效负载以提取 MDC 属性,然后将其用于 ...
我们用 Scala 3、ZIO 2、ZIO logging 和 Tapir 构建了一个 REST 微服务。 对于特定于上下文的日志记录,我们希望使用 MDC 并在那里设置一个从请求负载中获取的属性。 是否可以访问 DefaultServerLog 中的请求有效负载以提取 MDC 属性,然后将其用于 ...
我创建了貘端点:val getEndpoint = endpoint.get .securityIn(auth.bearer[String]()) .in("players" / path[PlayerId]("playerId")) .in(query[PlayerRequest]( ...
我确定这是一个荒谬的问题......我正在尝试启用貘的日志记录,如下所述: https://tapir.softwaremill.com/en/v0.19.0-m4/server/debugging.html ...但即使查看了 ServerOptions 文档,我也无济于事。 我从文档中天真 ...
我正在使用 http4s 开发一个 scala web 应用程序并将 tapir 用于端点。 我是新手,现在我正在寻找一种更好的方式来组织我的项目。 现在我有不同的类,其中包含端点描述和服务器逻辑。 它们有一个类似 java-spring 的名称 controller。例如: 然后将它们收集在一个 ...
对 Tapir 和 ZIO 中的 Prometheus 指标有疑问。 我有一个简单的代码: 当我调用localhost:8080/metrics时它工作正常,我看到了指标。 但是当我添加默认错误处理程序时: 它不起作用。 我现在看到的不是指标,而是在对localhost:8080/metrics的请 ...
我使用带有貘的游戏框架。 我的用法类似于示例https://github.com/gaeljw/tapir-play-sample 我们这样定义路由器: 路线 问题,我们的 @Singleton 实现是@Singleton jsr330 ,这有一些问题如何删除对 jsr330 ( @Singleto ...
我正在使用tapir来定义一系列端点,如下所示: 然后使用thingModifyState定义多个端点: blue.StateChange object 定义如下: 生成文档时(使用 redoc),“请求正文架构”部分如下所示: jsonBody 的整体描述(“对象描述修改”)在文档中可见,但 ...
当我尝试创建具有多个主体形状的端点时,我只是遇到了一个问题。 我的 model 看起来像这样: 我正在尝试创建此端点: 端点的实现如下所示: 这只是我正在尝试创建的示例。 我添加了基于此的架构推导: 我创建了一个测试,用于尝试基于 Akka HTTP 的端点: 我得到的错误如下: 我正在关注此文档。 ...
我正在学习不同的 Scala 库并开始跟踪。 Trace4Cats 声称与 Tapir 端点集成,我想将它包含在我的示例 Play SIRD 路由器中,该路由器使用 Tapir 和 OpenAPI 文档。 到目前为止,我已经包含了这些依赖项以进行跟踪: // Tracing library ...
我在 scala 中创建了貘端点,其中项目的架构是这样的,API 层调用服务层,服务层调用 repo 层。 我已经为服务和 repo 层编写了单元测试(使用 mockito),但现在我找不到一个可以在 scala 中使用的好库,通过服务层的 ZD1892D85020BA22801ZBD0D83782 ...
我第一次玩 Scala 所以请耐心等待。 还使用 tapir 声明 API,我在为枚举提供架构时遇到问题。 我定义了一堆枚举,它们是我的域 model 的一部分,并且扩展了 Scala 的Enumeration 。 例如,这是其中之一:object Status extends Enumerati ...
我目前正在使用sttp 版本 3.3.14和貘版本 0.18.0-M15 ,但我在处理某些案例类的模式时遇到了问题。 更具体地说,包含类型别名的案例类。 这是一个简单的自定义编解码器: 下面的代码工作得很好: 但是这个测试用例失败了。 请注意,唯一的区别是Either 别名。 关于这里 ...
我第一次使用 ZIO,我从https://github.com/guizmaii/scala-tapir-http4s-zio/blob/master/src/main/scala/example/HttpApp.scala的样板存根开始使用 ZIO 版本 1.0.0-RC17 来设置和运行 htt ...
Tapir 文档声明它支持解码密封特征: https://tapir.softwaremill.com/en/latest/endpoint/customtypes.html#sealed-traits-coproducts 但是,当我尝试使用此代码执行此操作时,出现以下错误:import io. ...
试图编译这个小的 ZIO 友好的 Tapir/Http4s 端点描述 并保持在最后一行。 Type mismatch. Required: HttpRoutes[RIO[E, *]], found: HttpRoutes[zio.Task] 任务是 RIO 的子类型,所以这应该可以正常工作吧 ...
我在下面有一个代码 它应该是 output 之类的 但我明白了 我究竟做错了什么? 我认为提供隐式配置就足够了! ...
我有一个案例 class 喜欢 我有自定义编码器和解码器 我的貘端点为 但是如果运行上面的代码我得到 有人可以帮我做错什么吗? 如果我从 EventsDTO 中删除processTime: DateTime //JodaTime EventsDTO则应用程序运行得很好。 ...
我被困在一个地方,我正在使用 scala、tap 和 circe。 对于貘 errorOut 我正在使用这个 现在由于这种结构,我得到的 API 结果是 理想情况下,我希望得到回应 我无法更改错误结构。 有没有办法使用自定义编解码器包装此错误以根据需要获得结果。 ...
我使用tapi定义端点但是我收到以下编译错误。 [信息] 将 3 个 Scala 源编译到 /endpoints/target/scala-2.13/classes ... [错误] 发射/端点/会话 $ 时出错 [错误] 方法太大:端点/会话 $。 ()V [error] one err ...
我正在貘中创建一个端点,它需要动态状态代码来显示错误。 我已经声明了一个FailureResponse trait FailureResponse并且我已经创建了扩展这个 trait 的案例类。 类似于显示的示例https://tapir-scala.readthedocs.io/en/lates ...